{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": [],
      "gpuType": "T4",
      "collapsed_sections": [
        "XX_GxhusPZR8"
      ]
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        "## Dependencies"
      ],
      "metadata": {
        "id": "XX_GxhusPZR8"
      }
    },
    {
      "cell_type": "code",
      "execution_count": null,
      "metadata": {
        "id": "5TO0g_Xl3otz"
      },
      "outputs": [],
      "source": [
        "!pip install llama-index transformers pyvis networkx"
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "\n",
        "!wget https://huggingface.co/TheBloke/StableBeluga-13B-GGML/resolve/main/stablebeluga-13b.ggmlv3.q6_K.bin"
      ],
      "metadata": {
        "id": "O0JzxmcwiXC4",
        "outputId": "36c44af7-27cc-4fff-e7c3-403f4e3cc0bd",
        "colab": {
          "base_uri": "https://localhost:8080/"
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "--2023-07-29 10:13:11--  https://huggingface.co/TheBloke/Nous-Hermes-llama-2-7b-GGML/resolve/main/nous-hermes-llama-2-7b.ggmlv3.q8_0.bin\n",
            "Resolving huggingface.co (huggingface.co)... 13.224.249.43, 13.224.249.119, 13.224.249.44, ...\n",
            "Connecting to huggingface.co (huggingface.co)|13.224.249.43|:443... connected.\n",
            "HTTP request sent, awaiting response... 307 Temporary Redirect\n",
            "Location: /TheBloke/Nous-Hermes-Llama-2-7B-GGML/resolve/main/nous-hermes-llama-2-7b.ggmlv3.q8_0.bin [following]\n",
            "--2023-07-29 10:13:11--  https://huggingface.co/TheBloke/Nous-Hermes-Llama-2-7B-GGML/resolve/main/nous-hermes-llama-2-7b.ggmlv3.q8_0.bin\n",
            "Reusing existing connection to huggingface.co:443.\n",
            "HTTP request sent, awaiting response... 302 Found\n",
            "Location: https://cdn-lfs.huggingface.co/repos/3d/9c/3d9cca00288ca7ac282ab1db700d6adf5d09477770cdc665ff34607a2843ce31/e19ca1d4ac199c49d3748afe4b655797c5aea4001525a70d878edd658e1df1b6?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%27nous-hermes-llama-2-7b.ggmlv3.q8_0.bin%3B+filename%3D%22nous-hermes-llama-2-7b.ggmlv3.q8_0.bin%22%3B&response-content-type=application%2Foctet-stream&Expires=1690884791&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY5MDg4NDc5MX19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy5odWdnaW5nZmFjZS5jby9yZXBvcy8zZC85Yy8zZDljY2EwMDI4OGNhN2FjMjgyYWIxZGI3MDBkNmFkZjVkMDk0Nzc3NzBjZGM2NjVmZjM0NjA3YTI4NDNjZTMxL2UxOWNhMWQ0YWMxOTljNDlkMzc0OGFmZTRiNjU1Nzk3YzVhZWE0MDAxNTI1YTcwZDg3OGVkZDY1OGUxZGYxYjY%7EcmVzcG9uc2UtY29udGVudC1kaXNwb3NpdGlvbj0qJnJlc3BvbnNlLWNvbnRlbnQtdHlwZT0qIn1dfQ__&Signature=rEI68Wu5sVQoCg16Ao-WRlwq4A9eq0Qg9CU6hARPxn5W8ufbQPMGWtHKgo65ojv4o5bw3EAasj6Q427NIZtdrQMUwtpA9wSKJvmENnr-STEekmhPSky5bGPIKmioj3C5RDpg8XwsYk%7EBigpKVBaZtBu74bRWql-Ra%7EiWcT3gKuL4gdtRUegb4fVl2WbyDVcuf-pnXbQ96yC7mGI8FjTI45uMeydYpNJW%7E-VMjrUHLo3nZEGkbc-VIRXghS9cvuhSZ0EuE6P6IXk%7EWUlWvIFhVNkgwASEe2shPw%7E6OZSvx8%7EALBpcyKjrdYA6BYmnz8wG2LXB6WxAE9wn2BgiTSRQ2w__&Key-Pair-Id=KVTP0A1DKRTAX [following]\n",
            "--2023-07-29 10:13:11--  https://cdn-lfs.huggingface.co/repos/3d/9c/3d9cca00288ca7ac282ab1db700d6adf5d09477770cdc665ff34607a2843ce31/e19ca1d4ac199c49d3748afe4b655797c5aea4001525a70d878edd658e1df1b6?response-content-disposition=attachment%3B+filename*%3DUTF-8%27%27nous-hermes-llama-2-7b.ggmlv3.q8_0.bin%3B+filename%3D%22nous-hermes-llama-2-7b.ggmlv3.q8_0.bin%22%3B&response-content-type=application%2Foctet-stream&Expires=1690884791&Policy=eyJTdGF0ZW1lbnQiOlt7IkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY5MDg4NDc5MX19LCJSZXNvdXJjZSI6Imh0dHBzOi8vY2RuLWxmcy5odWdnaW5nZmFjZS5jby9yZXBvcy8zZC85Yy8zZDljY2EwMDI4OGNhN2FjMjgyYWIxZGI3MDBkNmFkZjVkMDk0Nzc3NzBjZGM2NjVmZjM0NjA3YTI4NDNjZTMxL2UxOWNhMWQ0YWMxOTljNDlkMzc0OGFmZTRiNjU1Nzk3YzVhZWE0MDAxNTI1YTcwZDg3OGVkZDY1OGUxZGYxYjY%7EcmVzcG9uc2UtY29udGVudC1kaXNwb3NpdGlvbj0qJnJlc3BvbnNlLWNvbnRlbnQtdHlwZT0qIn1dfQ__&Signature=rEI68Wu5sVQoCg16Ao-WRlwq4A9eq0Qg9CU6hARPxn5W8ufbQPMGWtHKgo65ojv4o5bw3EAasj6Q427NIZtdrQMUwtpA9wSKJvmENnr-STEekmhPSky5bGPIKmioj3C5RDpg8XwsYk%7EBigpKVBaZtBu74bRWql-Ra%7EiWcT3gKuL4gdtRUegb4fVl2WbyDVcuf-pnXbQ96yC7mGI8FjTI45uMeydYpNJW%7E-VMjrUHLo3nZEGkbc-VIRXghS9cvuhSZ0EuE6P6IXk%7EWUlWvIFhVNkgwASEe2shPw%7E6OZSvx8%7EALBpcyKjrdYA6BYmnz8wG2LXB6WxAE9wn2BgiTSRQ2w__&Key-Pair-Id=KVTP0A1DKRTAX\n",
            "Resolving cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)... 18.155.68.128, 18.155.68.73, 18.155.68.98, ...\n",
            "Connecting to cdn-lfs.huggingface.co (cdn-lfs.huggingface.co)|18.155.68.128|:443... connected.\n",
            "HTTP request sent, awaiting response... 200 OK\n",
            "Length: 7160799872 (6.7G) [application/octet-stream]\n",
            "Saving to: ‘nous-hermes-llama-2-7b.ggmlv3.q8_0.bin’\n",
            "\n",
            "nous-hermes-llama-2 100%[===================>]   6.67G   156MB/s    in 57s     \n",
            "\n",
            "2023-07-29 10:14:10 (119 MB/s) - ‘nous-hermes-llama-2-7b.ggmlv3.q8_0.bin’ saved [7160799872/7160799872]\n",
            "\n"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "!CMAKE_ARGS=\"-DLLAMA_CUBLAS=on\" FORCE_CMAKE=1 pip install --upgrade --force-reinstall llama-cpp-python --no-cache-dir -qq"
      ],
      "metadata": {
        "id": "Ov2uLr-Sinl2",
        "outputId": "62968458-7456-426b-ad00-7a496a160161",
        "colab": {
          "base_uri": "https://localhost:8080/"
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\u001b[?25l     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/1.6 MB\u001b[0m \u001b[31m?\u001b[0m eta \u001b[36m-:--:--\u001b[0m\r\u001b[2K     \u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.0/1.6 MB\u001b[0m \u001b[31m782.5 kB/s\u001b[0m eta \u001b[36m0:00:03\u001b[0m\r\u001b[2K     \u001b[91m━━━━━━━\u001b[0m\u001b[91m╸\u001b[0m\u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m0.3/1.6 MB\u001b[0m \u001b[31m4.3 MB/s\u001b[0m eta \u001b[36m0:00:01\u001b[0m\r\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m1.6/1.6 MB\u001b[0m \u001b[31m20.4 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25h  Installing build dependencies ... \u001b[?25l\u001b[?25hdone\n",
            "  Getting requirements to build wheel ... \u001b[?25l\u001b[?25hdone\n",
            "  Preparing metadata (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m17.6/17.6 MB\u001b[0m \u001b[31m163.1 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[2K     \u001b[90m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\u001b[0m \u001b[32m45.6/45.6 kB\u001b[0m \u001b[31m138.8 MB/s\u001b[0m eta \u001b[36m0:00:00\u001b[0m\n",
            "\u001b[?25h  Building wheel for llama-cpp-python (pyproject.toml) ... \u001b[?25l\u001b[?25hdone\n",
            "\u001b[31mERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.\n",
            "numba 0.56.4 requires numpy<1.24,>=1.18, but you have numpy 1.25.1 which is incompatible.\n",
            "tensorflow 2.12.0 requires numpy<1.24,>=1.22, but you have numpy 1.25.1 which is incompatible.\u001b[0m\u001b[31m\n",
            "\u001b[0m"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "from langchain.llms import LlamaCpp\n",
        "from langchain import PromptTemplate, LLMChain\n",
        "from langchain.callbacks.manager import CallbackManager\n",
        "from langchain.callbacks.streaming_stdout import StreamingStdOutCallbackHandler"
      ],
      "metadata": {
        "id": "Gn80MAP4inpr"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "callback_manager = CallbackManager([StreamingStdOutCallbackHandler()])\n"
      ],
      "metadata": {
        "id": "RxCPkuqXins7"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "n_gpu_layers =40  # Change this value based on your model and your GPU VRAM pool.\n",
        "n_batch = 512  # Should be between 1 and n_ctx, consider the amount of VRAM in your GPU.\n",
        "\n",
        "# Make sure the model path is correct for your system!\n",
        "llm = LlamaCpp(\n",
        "    model_path=\"stablebeluga-13b.ggmlv3.q6_K.bin\",\n",
        "    n_gpu_layers=n_gpu_layers,\n",
        "    n_batch=n_batch,\n",
        "    callback_manager=callback_manager,\n",
        "    verbose=True,\n",
        "    n_ctx=512\n",
        ")"
      ],
      "metadata": {
        "id": "gB-4SY0uinwB",
        "outputId": "f9ed7c66-43df-48c0-ac83-9fa3e6f6b0be",
        "colab": {
          "base_uri": "https://localhost:8080/"
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "AVX = 1 | AVX2 = 1 | AVX512 = 0 | AVX512_VBMI = 0 | AVX512_VNNI = 0 | FMA = 1 | NEON = 0 | ARM_FMA = 0 | F16C = 1 | FP16_VA = 0 | WASM_SIMD = 0 | BLAS = 1 | SSE3 = 1 | VSX = 0 | \n"
          ]
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "## Building the Graph\n",
        "\n",
        "Here, we will construct the index, as well as leveraging `rebel` to extract triplets."
      ],
      "metadata": {
        "id": "kcMxOwuCP6DG"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "texts = '''India, officially the Republic of India (ISO: Bhārat Gaṇarājya),[22] is a country in South Asia. It is the seventh-largest country by area; the most populous country as of June 2023;[23][24] and from the time of its independence in 1947, the world's most populous democracy.[25][26][27] Bounded by the Indian Ocean on the south, the Arabian Sea on the southwest, and the Bay of Bengal on the southeast, it shares land borders with Pakistan to the west;[j] China, Nepal, and Bhutan to the north; and Bangladesh and Myanmar to the east. In the Indian Ocean, India is in the vicinity of Sri Lanka and the Maldives; its Andaman and Nicobar Islands share a maritime border with Thailand, Myanmar, and Indonesia.'''\n"
      ],
      "metadata": {
        "id": "46D4QDPfppV4"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "code",
      "source": [
        "from langchain.llms import OpenAI\n",
        "from langchain.indexes import GraphIndexCreator\n",
        "from langchain.chains import GraphQAChain\n",
        "from langchain.prompts import PromptTemplate\n",
        "from langchain.graphs.networkx_graph import KnowledgeTriple\n",
        "\n",
        "llm.temperature = 0\n",
        "\n",
        "index_creator = GraphIndexCreator(llm=llm)\n",
        "f_index_creator = GraphIndexCreator(llm=llm)\n",
        "\n",
        "final_graph = f_index_creator.from_text('')\n",
        "\n",
        "for text in texts.split(\".\"):\n",
        "  triples = index_creator.from_text(text)\n",
        "  for (node1, relation, node2) in triples.get_triples():\n",
        "    final_graph.add_triple(KnowledgeTriple(node1, relation, node2))\n",
        "\n",
        "\n"
      ],
      "metadata": {
        "id": "vlnCX77mliZQ",
        "outputId": "5dda1947-7dbd-448b-e392-e261c967e780",
        "colab": {
          "base_uri": "https://localhost:8080/"
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " NONE\n",
            "END OF EXAMPLE"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " (India, is a, country)<|>(India, is in, South Asia)"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " (India, is the seventh-largest country by area)<|>(India, is the most populous country as of June 2023)<|>(India, from the time of its independence in 1947, is the world's most populous democracy)\n",
            "END OF EXAMPLE"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " NONE\n",
            "END OF EXAMPLE"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " (Indian Ocean, is near, Sri Lanka)<|>(Indian Ocean, is near, Maldives)<|>(Andaman and Nicobar Islands, shares maritime border with, Thailand)<|>(Andaman and Nicobar Islands, shares maritime border with, Myanmar)<|>(Andaman and Nicobar Islands, shares maritime border with, Indonesia)\n",
            "END OF EXAMPLE"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " NONE\n",
            "END OF EXAMPLE"
          ]
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "import networkx as nx\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# Create graph\n",
        "G = nx.DiGraph()\n",
        "G.add_edges_from((source, target, {'relation': relation}) for source, relation, target in final_graph.get_triples())\n",
        "\n",
        "# Plot the graph\n",
        "plt.figure(figsize=(8,5), dpi=300)\n",
        "pos = nx.spring_layout(G, k=3, seed=0)\n",
        "\n",
        "nx.draw_networkx_nodes(G, pos, node_size=2000)\n",
        "nx.draw_networkx_edges(G, pos, edge_color='gray')\n",
        "nx.draw_networkx_labels(G, pos, font_size=12)\n",
        "edge_labels = nx.get_edge_attributes(G, 'relation')\n",
        "nx.draw_networkx_edge_labels(G, pos, edge_labels=edge_labels, font_size=10)\n",
        "\n",
        "# Display the plot\n",
        "plt.axis('off')\n",
        "plt.show()"
      ],
      "metadata": {
        "id": "ecJduV9Elice",
        "outputId": "b95ef0f6-be5d-44d8-bf7f-1a62ef3c74cd",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 706
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 2400x1500 with 1 Axes>"
            ],
            "image/png": "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9qn9Stu9XNnRe2XOTC52W4+AUPlFdFZA+2svlr82OFcEK+PQ70r/Y6WyT++XTHlFbucV1lT+ba5WcM/b5OHjL0kOH+8lSUtLKzi/nT9/3u42ISEhGjFihF588UWXb/pJS0vT0qVLtWrVKq1fv16nTp0qdnuj0aguXbro/vvv11133eXSzVWTJk3Sl19+WfC4WbNmioqKKnj8888/691339W6detkMpls+s+aNUuTJk1yetzylJycrBkzZmjevHk6ePBgidsbjUZ17NhRAwcO1OjRo9W3b98yuWGhKGX1nu6MAQMG6Ndffy14fO2112r9+vUFj9evX6+pU6dq7dq1Mpvtv6e3b99ezz77rMaNG1fq52fx4sV677339Pvvv8tisX1PNxgM6tOnj5566indcsstdvbgvOzsbH322Wf66quvtH379hK3NxgMatOmjfr376/Ro0dr4MCBFXZDGgAAAKouyj4DAIBSKVzG2d/fX6NHjy543LlzZ3Xq1Mlqm3nz5hWZ2CuN3377Te3bt9fLL79c7EXMjIwMzZ49W23atNHSpUtdHu/bb79V27Zt9b///a/IxK8kJSUl6b333lO7du20YsUKl8eTpF9//VXNmjVTv3799Oabb2rbtm0lJn6liwnPadOmqWXLlnr++eeLvKjqiu+//17t27fXjBkzikz8StKRI0d01113acyYMTZ/f4vFopdfflldu3bVggULij0+Nm/erGuuuUZTp051OtZrrrlGTZs21T//+U8tXbq0xMSvJGVmZurnn3/W9ddfr6uvvlpnzpxxetyipKSk6JZbbtHIkSOLTPxKF5+fbdu26aabbtKkSZMc+puXpXHjxqlBgwa67777NH/+/BKTBJKUm5urDRs2aMyYMerYsaMOHDggSUrPyVdWnm3yxhmW/Dwl/PyBYr95VtlRu4tM/EpSXvwpJfz4juLmvyBzrmszME2ZKYpb9KouLJ6qnDMHZD/xK0kW5cRE6sKiV3RhyX9lzivbGZ9lJajrzTKGWM8kz9j/i3IvRBfRo3LJjT2h818/o9ivn1Zm5IYSE7+SZM5IVsaB9Ypb8JIuLHrV8bHOH9e5Lx9T/JL/XjzWikn8ShePt5SN3yjm4ylK2/2zJCkz16T0nNK9Zrdv364OHTropZdeKjLxK118T/nyyy/VoUMHTZs2zelx/u///k/h4eEaP368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9++vpKQkh/scOHBA119/vbZu3Vowi2j27Nm65557nEp8/Pjjjxo3bpwWLlzoVMzx8fEaNmyYtm7d6lQ/6eKX2blz52rXrl36+eefi00w/bTvXMF6RskbvlLKpu+cHq86yks+r/Nzn5Q5I9nxTmaTUjcvkCk1XnWGPeZUAticl634H95U1rFtzgcrKev4Dp3/6gmFj3mpVLOPLRaL4n98W5mRvznVL+fMQcV+/YzqjXu93BPASZl5Wr7vnEZ2rdgZpJfLzMzU3/72N/34448u9V++fLn69Omjn3/+2e3VHByRm5urm2++WWvXFj17vzIxm82aOHGi5s6d61S/ffv26eqrr9bmzZtLHcOPP/6oO+64w6XPOSaTSZ988on27NmjH374QeHhrt/UMXXqVD333HNO9Zk2bZr8/f01depUSRf//iNGjNDPP/9cQs+/5Ofna9KkSQoODtatt97q1Pju/Iy4bt063X777UVW9XBEamqq031MJpNGjx6tpUuXujTmyZMnnU78Xi4/P1+vvvqq/vjjDy1evFiens59lTl58qRmzJihVatWOZ24vpy9565Ro0YaMWKE1eeo77//XrGxsapXr57TY5jNZn366adWbVdccYWuu+46m20DfTwVWDdQLetaL70yoeMkRXz8olXb9cHn9c8pttWUAACVy87oJE39OVI7ox2/NoCycSQ2Xfd+tUPdmtXSsze2U7dmxd+oDgAAUBm5/VbuNWvWlJj8PXHihE6ePGn3Z1u2bFF6enqJ68wWTv42b968xBkz69at0/Dhw+3OxOncubOGDx+uiIgI+fn56dy5c/r111+1cuVKmxkrH3zwgUwmkz788MNixyvK+fPnNXLkSKvEb8+ePTV06FA1a9ZMQUFBOnfunA4ePKgFCxa4NEZRTpw4oaFDh9pN/Hbq1Em33nprwXNw9uxZrV+/XqtWrSqYpfDGG2+obt26ZRpTcR5//HG7id/WrVtryJAhatu2rerUqSMfHx+lp6crOTlZR44c0f79+7V169YSZxuVp5SUFA0bNqwg8evl5aVBgwZp0KBBatiwoTw8PBQVFaWlS5faJFoPHTqkZ555RtOnT9f69et17733FiR+Q0JCdOONN6pPnz4KDw9XTk6OIiMj9d1339mUfl20aJHmz5+vMWPGOBRzVlaWBg4caHdGeFhYmG677TZ16tRJ4eHhSkhIUGRkpBYtWqSzZ89abXvw4EH169dPf/zxh2rXrm13rK+2REuSsqP3KmWTbbl2g0+A/CI6y7teCxmDwmTw8pVMeTLnZik/9YLy4k8p9+xhmTKK//LsGVxXXn8mJc3Z6TKlXrD6uVedJlIJ69caAyvmy6HFnK8L30+1Svx61m4k/9Z95FmrgTy8fGXKSFbO6QPKOrFDlnzr2UMZB9bJwzdQta9zbOaZxWLWhUWvKjvqD5ufGbz95HdFT/k0aC1jYC2ZczKVn3RWmUc2Kz/pnNW2pvREnZ/3tBpMet/ltXhTty22SvwavP3k36q3vBu0kjEgVObsDOUlnFHmkU02f0NT6gXFfv2sGt79gTx8y3eN8q+2RLst+Ws2m3XrrbfavfkpKChIw4cPV8+ePVW/fn2lpqbq6NGjWrx4sY4ds15X++zZs+rfv7927typli1bVlT4Lnn99dftJn6bNGmioUOHqn379qpXr558fX2VmZmp1NRUHTt2TPv379fmzZtdSuKVxqOPPmo38RsYGKhbbrml4O+TkpKio0eP6vvvvy9Y8uHSZ4P27du7PP7XX3+tCRMm2Nwo5O3trUGDBqlXr15q0qSJQkJClJ6erqioKK1du1a///671fZbtmzRyJEjtW7dOpfKUS9ZssQq8VuvXj0NGzZMXbt2VVhYmNLS0rRnzx7Nnz9fsbHWJeb/+9//asSIEerZs6cefvhhq8Rv27ZtNWzYMLVq1UqhoaFKTEzU77//roULF1qd781msx588EENGDBAISEhDsXszs+IP/30k0aMGGF37LCwMA0ZMkTdu3dX3bp15evrq+TkZJ06dUo7duzQpk2blJaW5vBYhb3wwgtWid/atWvrxhtvVI8ePRQeHq6srCydOXNGP//8s0MzZerXr69u3bqpXbt2ioiIUHBwsPz9/ZWRkaG4uDjt27dPK1asUFxcnFW/ZcuW6dlnn9Wbb77pcOx5eXm67777iryh9IorrtDQoUPVpk0b1a1bVxaLRUlJSTpy5Ih27Nihbdu2lTg7/5FHHrFK/ubl5WnmzJl69tlnHY7zkp9//tnmc9r999/v1AykZs2aqW7durpw4a/z4Pr16/XPf/7T6XgAABUjK9ekt1Yd1qxNJ1WK+5RQBnZGJ2n0J5s0uW9zPTm0jfy8WQ8YAABUHQZLaW57L83Af1646NGjh7ZtK34G2aeffmpVFs9gMFjdrb9s2TLdfPPNxe6jUaNGVgmne++91+Zu+sslJCToqquuUkxMjFV706ZN9cknn+iGG26w2+/MmTN64IEH9NNPtmVIlyxZ4tCsksIXdYxGY8F6dZ06ddLHH3+sPn362O2bnZ0tX19fq7aoqCg1b249w27WrFmaNGlSsXFYLBYNHjxY69ats2pv0KCBPvnkEw0fPtxuv+joaE2ZMqXg4pqfn5/N+oWOjF94XcCS1o08ffq0mjVrZnVs1K1bVzNnziwy1stlZGRo9erV+vzzzxUSEqJ58+aV2Kc0Cv+dfXx8Ci4KDx48WB999JFatWplt++XX36pKVOmWF2ENBqN2rNnj66//vqC4/Yf//iHXnrpJYWGhtrsIycnR4899phNaczWrVvr8OHDDv0ODzzwgD755BOrNqPRqKeeekrPP/+8zbEoXZw19O677+r555+3uQh+22236fvvv7fpsy8mRcM/vJhsiP3mOWVH77H6eXDP2xRy9R3y8PEvNl6LxaLc2OPKjNyg9D2r1fiRL4st+5y+d40Slr9v1dbogZnyDHV+Bk9ZKLzmr8HTuyCh6+EToFpD7lPglYPt9s1PS1Diig+VdbxwaVKD6t3xmkNr8aZsXqDkX7+0aQ+86nrVGni3PHwD7PZL37taSWs/lznHOrHm3aC16k94SwaP4r9E21vz9/LfPeDKIao9eIrdRK7FYlbatiVK/m2uTfI74MohCrv50WLHllxb8/dyyx7pp46NQlxe8zciIkLR0dEFjydOnKjZs2eX2O+///2v3dL79957r956660ik1yzZs3S448/brPma8+ePbVx48YSZ9q5a83f7Oxs1a1bV+npf5XE8/f314cffqiJEyeWOLMyJydHGzZs0KxZsxQTE2P1O5SHdevWafDgwTazD++66y69//77dkvhWywWffrpp3ryyScLEniFz7GOHlcHDhxQz549rUqBe3p66rHHHtOTTz5Z7I1bf/zxh6ZMmaKdO3datT/xxBN66623ih3X3t/10vnPaDTqxRdf1BNPPGH3/JGamlqwTMHlhg4dqvvvv1+jRo2SdPHcP336dN1+++12Yzh27Jhuvvlmm+UVpk6d6tByFe78jHjs2DH16NHD5vVZr149vfjii5oyZUqxr9GcnBytXLlSn3zyiQ4ePFjkzZWS/TV/L30mNRqNevbZZ/XUU08pIMD+e7+9z6SzZ8/WK6+8orvvvlvDhw93qKKAyWTSt99+qyeeeMKqTLPBYNDWrVvVo0ePEvchSc8//7xeffVVm/bOnTvrjTfe0NChQ4vtn5CQoMWLF+t///ufunTpUuT7cKdOnbRv376CxxERETp+/LjTs7uHDx+uZcv+Wt/ex8dHMTExqlOnjlP7ue6666wS3o0aNdKZM2ec2gcAoGJsj0rUkwv3KCqh5KVaULGa1wnQm6M7qUeE/ZvVAQAAKhvX6xCXkZ07d5ZY4rbwHfqXLu4V9fPCIiMjbWYallTy+ZlnnrG5qNe8eXNt3LixyIt6ktS4cWP9+OOPGj9+vM3P7r33XpskqCMuJX6vvvpq/fbbb0UmfiXZvVjqqq+++som8Vu/fn1t2LCh2GRqs2bNtGLFCo0cOVKSXPqdJWnSpEmyWCwF/0pKHixdutTmIvqCBQscSvxKUkBAgEaMGKFly5bps88+cynm0riUCB0zZoxWrFhRZOJXupj8efnll63aTCaTBg0aVHDcTp8+XdOmTbOb+JUuXkScPn26TfnAI0eOaNOmTSXGu3HjRpvEr4eHh2bNmqXXXnutyGPRaDTqySef1KJFi2xmiC1evFiLFi2y6TP3z1m/5pxMZZ/aZ/WzgCuHqNage0pM/EoXLxT71L9CtQberUYPz5aMzs9Qq0wuJTMN3n4K/9srRSZ+JckzqI7qjn5e/u2vLbwXJaz4UBZL8SXC85Njlfyb7Q0Rof0nqM6Nfy8y8StJgZ2uU/jfXpWh0N8o99wRpW3/odhxi3Lpdw/uPVphNz9a5Axeg8FDwb1GKmzE01KhJHPGvjXKPlX8OuZlYe7W6JI3KmNRUVF2l0R49dVX9emnnxY7u3Hy5MlavXp1QRn5S7Zt26Zp06aVeaxlZe3atVaJX+niGrKTJ092KOni4+Oj6667Tl9//bVTZYNdYTabdd9999mcs5544gl9+eWXRa6BbjAYdP/992v58uXy97/4enLlHGs2m/W3v/3NKvEbEBCgVatW6c033yyxYkfnzp21adMmm/PHBx984FJSKScnRx4eHlqwYIH+/e9/F3n+CA4O1rfffquOHTtata9evbrgJsEGDRpo48aNRSZ+pYszPJcvX26zTrEjN1VI7v2MOH78eJvEb4cOHbR9+3Y98MADJd6c4ePjo1tuuUU//fSTzWc8R5hMJnl4eOibb77Ryy+/XGTiV7L/mXTUqFE6duyYnnvuOYdLyRuNRt15553aunWr1fIQFotF7733nkP72L9/v90bE26//XZt2bKlxMSvJNWpU0dTpkzRnj17bJLil3v44YetHkdFRTn9nhIdHa3ly5dbtY0ZM8bpxK8kXXnllVaPY2JidO7cuSK2BgC4Q1auSS8vO6gxn24m8VtJnUzI0JhPN+vlZQeVlWtydzgAAAAlcnvy12w265dffiny5xaLxern3t7eNkmv1atXFztG4eSwwWAottR0fHy8vvrqK6s2o9Go77//Xo0bl1y+02AwaNasWTYXWy5cuGCzX0eFhITou+++s7kYX57sXeSfO3eurrjiihL7Go1GzZ0712bGcXm6VArzklatWunaawsnuhxz6aJ6RWvVqpW++OILh9awe/zxx20SBJfKIk6YMEEPPfRQifswGAx65ZVXbNoduUhp74Lro48+qgkTJpTYV5Juvvlmu2O/8847Vo9TsvL0w56LF9nzU+KkQknKwKuud2i8wjy8fJwqnViZ1b7uAfk0aF3idgaDh8JuflSetRtZtecnnVXW8R3F9k3btUwyW5e79G/dVyF9HVs30KdBK9W54RGb9tSdP8pidu3Ls0/TK1VrwCSHtvW/oqfdWNN2urZupTOW/BGjlD/Xq64oH374ofLyrMccOXKkw2uqdu/e3W51jEslaiujwucAPz8/3Xmn4zO0L1fe54CffvrJprz2NddcU+Ks2Uv69evncNLLnkWLFtmU6581a5YGDhzo8D68vb21YMEChYWFFbTl5ubq3XffdSmmp59+WrfddluJ23l5ednc2GCxWBQfHy/p4o1rxd08dUnLli1tZiAfOXJEx48fL7afOz8jrlq1ymbZh7CwMK1evVpNmjQpcezCippFX5LHHnus2OR6cYKCglw+9zZt2lQzZsywaluwYIHdpUkuZzKZ9OSTT9pUG+ndu7e+/fZbm5sAHNGsWbMifzZ+/HibG2wKV1kpyaeffmpTjv3BBx90ah+X2Iu18Kx3AID7bI9K1I0fbNAXGynzXNlZLNIXG0/qpg9+0/aoRHeHAwAAUCy3J3+l4mfu7t69WwkJCQWP+/Tpo3bt2lld2Dtw4IBVGbiS9n/VVVdZXaws7PPPP7daX1e6uMZW586di+xTmKenp/73v//ZtLu67u/jjz+u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noiJiZGPJyYmIj09vd51UVFR6Nu3r/z4zz//REpKCgD79v3t27cvfH19UVVVBQBQq9W4cOHCld8IERFRC5CZmYns7GybYwkJCU6fOkJERERE1BgMf4mIiIjoqnh4eCAhIQFATQiYm5uLd955p1Gdv1YqlQqBgYHw9PSEJEk4ePAghg0bhlWrVmH69OlNXXq9zp07h7NnzwKwDUMFQcChQ4dgMBjk53r16oVu3bpBkiQolcom2c+3sfz8/NCzZ0+4urrKXde///57vef7+vrajH5OS0vDyZMnAdg/+vmxxx7DkiVLkJWVhT/++KPZg3kiIqKmdnHXr7e3N7p37+6kaoiIiIiIrgzDXyIiIiK6YtZgdNy4cfIxQRDw/fffIykpCUDjxh2LogiTyYROnToBAHJyclBaWtrsweKTTz6JI0eOAPj7Hq3/DgwMxPnz56FQKOSgVZIkOTStfb+SJNmE4PWNYr4a1mv2798fAQEB8uNNmzbVu0aj0WDIkCHy48LCQhw/fhwVFRWXfT3riO558+bh0UcflX+tiIiIWrPc3FykpqbaHBsyZIhTPtRFRERERHQ1+CdYIiIiIrosa5hpNpuRm5uL6upqAH93iQ4fPhxDhgyByWSCIAg4fPgwZs6cieTkZHnc8eWCT1EUoVAocO7cOblrVavV2rUXbVNatWoVvv32Wxw8eBDA36OOrfcaHh6OoKAgiKIIURSRmJgon2s933quIAhyWFr7WkDD45Ubw/paffr0QWRkpHx8x44dDY5i7ty5M7p16yY/Pn36NDIyMpq0NiIiotbi4q5fd3d39O7d2znFEBERERFdBYa/RERERHRZ1oBx+/btuO222zBnzhwkJyfLz2u1Wrz++usIDQ2FKIpQKpU4dOgQpkyZgnXr1gH4O/isL1i0Pv/666/DZDIBADw9PREVFeWw+7pYXl4e5s+fj8rKShw7dgxFRUU2z5vNZgDAhAkTANSMuc7KysK9996LJ554Art27cIvv/yC1atX47vvvsN3332H1157Dc8++yw+/PBDfPHFF9i2bRssFkuT7R9ovU5kZCS6desGlUoFhUKBoqIi7N+/v951gYGBGDFihPx4x44dOHHihM01iYiI2oOCggKcOnXK5tjAgQOhVqudVBERERER0ZVTObsAIiIiImodcnJy8N1332HXrl3YtWsXNm7ciLVr16J/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+AI7d+6E1WqFJEmQJAmPPfYYXn31VahUvMuViIiIWp/U1FR88cUXdmtTpkxBv379nBQRERERNQWbKCH5Qjni/kr0nswqwenzpag0N1+St6FcNUr0CvRAn7+Swf2YEKZWjMlfIiIialdEUURWVpac8L1w4YLDe93d3eVkb/fu3aFWq5sxUntff/01br/9dqhUKoiiCFEU0bNnTyxZsgS33HILgKrXJggCBEHAtm3bMGHCBACAt7c3jh49im7dutVZKXypPXv24JVXXsGWLVugUqlgtVoRGBiIL7/8Etdcc02zvlYiIiKixlizZg2Sk5Plx15eXpg/f36tYzKIiIiodcsvN+G3s3nYfiYXe5PyUdGKEr2O0muUiInwxbU9/TGuhx983bTODokIANs+ExERUTtgNpuRnJyMhIQEJCQkoLKy0uG9AQEBcjvnwMBAp1W8FhcXw83NDeXl5VAoFFAqlThz5gxuv/123HHHHXj11VfRpUsXAFWVvVqtVp7Re+eddzqc+K2uCh45ciSWLVuGO++8E3v37oVCocD58+fx2muvYfjw4dBoNC3xsomIiIgccv78ebvELwCMGDGCiV8iIqI2QpIkJOaVY/uZXGw/k4ujGcVo66WJFWYbtp7OxdbTuRAEYGCwF67t6Y/revojws+NXdXIaVj5S0RERG1SSUmJnOxNSUmBzebYHaJKpRLdu3eXE74eHh7NHKnjkpOTsXjxYnz77beQJAlKpRKiKEKSJISEhOC5557DPffcAwBy5a9arca//vUvvPTSSw26VnUS+MyZM7jxxhuRkpICSZLg6uqKLVu2ICYmpkb7aCIiIiJn2bBhA06fPi0/1uv1WLhwYYt2aiEiIqKGEUUJB1MLsfV0VcI3vdDxm/Xbum4+rri2pz+u7+WPq0J9oGB7aGpBrPwlIiKiNkGSJJw/f15u55yTk+PwXldXV7mdc3h4eKuraq2euRseHo4NGzZg1apVePHFF5GSkgJBEKBUKpGWloZ7770XP/zwA958801cc801CA4ORkZGht15HE3WCoIASZLQs2dPTJ48Ge+//z40Gg0qKyuxb98+xMTEMPFLRERErUJBQYFd4hcAhg0bxsQvERFRK1VisGDjkUysjU3DufwKZ4fjFOmFlVixNwUr9qYgzFePmcNCcOvgrvB04fsXan6s/CUiIqJWy2KxICUlRU74lpeXO7zXz89PTvgGBQW1iZaAF7dtzsnJwdNPP401a9bAYrFAqVRCkiSIogg/Pz889thjOHr0KL766isMGjQIv/32G9zd3QGgwUnbvXv3YsKECTCZTLDZbLjllluwceNGVv4SERFRq/DDDz/g6NGj8mONRoNFixZBp9M5MSoiIiK6VFxWCdYcSMOm41kwWkRnh9Pq6NQK3NQ/CHcND0GfIE9nh0PtGJO/RERE1KqUl5fL7ZyTk5NhtVod2qdQKBASEiK3c/b29m7mSJtHdYK3Ogm8adMmPPPMMzh16hQEQYBCoYDNZoNGo4GbmxtKSkrg5eWF77//HjExMY26Znl5OcLDw3HhwgUAwMyZM7F69Womf4mIiMjpSktL8d5770EU//4AOSYmBtdee60ToyIiIqJqRosNP544j9UH0nA8s9jZ4bQZA4K9cNfwENzQNxA6tdLZ4VA7w+QvEREROZUkScjLy5Ore7Oyshzeq9PpEBkZiejoaISHh7er6o+Lq4DLysrw/PPP45NPPkFlZSUUCgVEUYRKpZKT40OHDsXnn3+OXr16NShpa7VaceHCBYwePRqpqamwWq24+eabsWHDBvn6RERERM6ydetW7N+/X36sVCrxyCOPwM3NzYlRERERUZnRgk93p2DV/lQUGyzODqfN8nZV4+6rQ3HvyO5w17ElNDUNzvwlIiKiFme1WpGWliYnfEtKShze6+Pjg+joaERHRyM4OLhNtHNujOrEq81mg7u7O5YuXYrJkyfj6aefRmxsLABAFEUIggBBEHDixAmsWrUKr7zyCpRKpV3yuC42mw0qlQoXLlxAUlKSvD5y5EgmfomIiMjpDAYDjhw5Yrc2YMAAJn6JiIicyGS1Yc2BdHy0MwmFFWZnh9PmFVVa8N6ORKw+kIaHx0TgzuHdoFXxMxm6Mqz8JSIiohZRWVmJxMREJCQkICkpCWazY/9AEAQBwcHBcjtnX1/fZo609RFFUU5yW61WvPzyy3j//fdRXFwMhUIBQRBgs9kAALfddhs++eQTeHh4AECdSeCLq4PvuusurF27FgAQHh6OTZs2oVevXi3x0oiIiIjqtGvXLuzcuVN+LAgC5s2bBx8fH+cFRURE1EHZRAnfHc3CO9sTkFVscHY47VaQlwsWXRuFKQODoFRwFBc1DpO/RERE1CwkSUJBQYFc3ZuRkQFH33ZoNBpEREQgOjoaERERcHV1beZo24aLE7mHDx/Gv//9b+zYsQMAoFarYbVaIUkSunfvjrfeegtTpkwB8HeitzqJXP3nIAgC1q5di0WLFiE/Px8AsHDhQrz++uvQaDROeIVEREREVcxmM959910YDH9/uNynTx9MnTrViVERERF1PJIkYduZXLy5JR6JeeXODqfDiPJ3wxPX98C1Pf0cHu1FVI3JXyIiImoyNpsNGRkZcsK3sLDQ4b1eXl6IiopCdHQ0QkJC2Ha4Dhe3egaAd955B6+//jry8vKgVCqhUChgsVTN2pkyZQpeeeUVhISEQKvV2rXILikpwZEjRzBlyhSUlZUBAEaPHo0PP/wQvXv3bvkXRkRERHSR2NhY/Prrr3ZrDzzwAAICApwUERERUcdzJK0Ir/5yBkfSipwdSoc1OMQbT03sicEh3s4OhdoQJn+JiIjoihiNRiQlJSE+Ph5JSUkwGo0O7+3atSuioqIQFRUFPz/eydgQF1cBJyQkYPHixfj+++8BVM0LliRJrvSdPn06unbtisGDB0OlUqGkpASrVq1CUlISsrKyAAAhISH46KOPMGnSJGe9JCIiIiIAVe9z3n//fZSWlsprkZGRuOOOO5wYFRERUcdhMNvw5tZ4fL4vBcwgOZ8gAPeM6I4nro+Gi4bFElQ/Jn+JiIiowQoLC5GQkICEhASkpaVBFEWH9qnVaoSHhyMqKgqRkZFwc3Nr5kjbN0mSIEmSXNH7+eef46WXXkJaWhoUCgXUajVMJhOAqhbPkiRBqVTK84GrRUdH43//+x+uueaaFn8NRERERJc6duwYNm3aZLc2e/ZshISEOCkiIiKijuNQaiGe2HgcqQWVzg6FLtG9kx5v3NoPQ0N9nB0KtXJM/hIREVG9RFFEZmamnPC9cOGCw3vd3d3lds6hoaFQq9XNGGnHdHEVcFZWFp5++mmsW7cOVqsVKpVKrgCufuzr64v+/ftDr9dj4sSJmDBhArp27erkV0FERERUdXPbxx9/jPz8fHktODgYc+bMcWJURERE7R+rfdsGVgGTI5j8JSIiolqZzWYkJycjPj4eiYmJqKx0/I7PwMBAOeEbEBDAds4toLrNc3US+Ntvv8Wzzz6LM2fOyDOCJUmCi4sLIiMj8eGHHyImJsbJURMRERHZO3v2LNavX2+3NmPGDERFRTkpIiIiovaP1b5tD6uA6XKY/CUiIiJZSUkJEhISEB8fj9TU1BrtgeuiVCoRFhYmz+/18PBo5kipLhdXAZeUlODZZ5/FZ599BqPRKCeAAcDT0xMPP/wwlixZAgBM0BMREZHTSZKE5cuXIysrS17z8/PDgw8+yPcqREREzYDVvm0bq4CpLipnB0BERETOI0kSsrOz5XbOOTk5Du/V6/WIjIxEdHQ0wsLCoNFomjFSclR14tdms8HT0xPvv/8+/vnPf+Kpp57C4cOHAQA6nQ4lJSXIycnhB6lERETUaqSmptolfgEgJiaG71eIiIiaQVaxAfetOozT50udHQo1kiQBK/amIDalAJ/cNQRBXi7ODolaCVb+EhERdTAWiwUpKSmIj49HQkICysvLHd7r5+cnt3MOCgriB3GtXPWsX6Dqz/2ll17CsmXLUFBQAD8/P6SlpUGr1To5SiIiIqIqa9asQXJysvzYy8sL8+fPl9/PEBERUdM4lFqIB9ccQUGF2dmhUBPxddNg2czBGMI20AQmf4mIiDqE8vJyuZ3zuXPnYLVaHdqnUCgQGhoqt3P29vZu5kipOVzcCvrgwYN48MEH8fTTT2Pq1KlOjoyIiIioyvnz5/HJJ5/YrU2aNAlDhw51UkRERETt0/pD6Xhm00lYbEwNtTdqpYBXbu6L24YEOzsUcjImf4mIiNohSZKQm5srJ3yzs7Md3qvT6eRkb3h4OHQ6XTNGSi1FFEUIgsBqbSIiImqVNmzYgNOnT8uP9Xo9Fi5cCLVa7cSoiIiI2g+rTcTLP5/Byn2pzg6Fmtk9I0Lx9KSeUCnZPaWj4sxfIiKidsJqtSI1NVWe31tSUuLw3k6dOsntnIODg9larx2q/jO9uAqYiIiIqDUoKCiwS/wCwLBhw5j4JSIiaiLFlWbM+/Io9iTlOzsUagGf70tFYl45PpwxEF6uGmeHQ07A5C8REVEbVllZKSd7k5OTYTY7NqtFEAR069ZNrvD19fVt5kiptWDil4iIiFqbvXv32j3WaDRs90xERNREkvLKMPeLw0grrHR2KNSC9iTl46aP9mL5rCGI8HN3djjUwpj8pXZDkiSUm6zILTUhr8yIvL9+rXpsgsFig00UYRUl2P76T6kQoFQIUCkEKBUKuKiV8HPXwt9DCz93Hfz++tXfQws3rYqtMonI6SRJQn5+vtzOOTMzE45OcNBqtYiIiEBUVBQiIiLg6urazNESEREREV1eaWkpjh8/brc2dOhQjh4hIiJqAnFZJbhreSyKDRZnh0JOkFZYiVuX7ceaucPQJ8jT2eFQC2Lyl9ocmyjh3IVynMgqQVxWCc6cL0VOiVFO8DaX6sRwgKcOPQM90C/IE32DPBHW2Q1KBZPCRNR8bDYb0tPT5YRvUVGRw3u9vLzkds4hISGs+iQiIiKiVuXAgQMQRVF+rFQqMXz4cCdGRERE1D4cSSvC7JUHUWa0OjsUcqJigwUzPjuAL+65CoO6eTs7HGohguRouRCRE9hECckXyhH3V6L3ZFYJTp8vRaW5+ZK8DeWqUaJXoAf6/JUM7seEMBE1AaPRiMTERCQkJCApKQlGo9HhvV27dpUTvp07d2bXgjZCkiQIgiD/SkRERNTeGQwGvPvuu3ajSwYPHozJkyc7MSoiIqK2LzalAHNWHkJFK/ocnZxLr1FixeyhGNa9k7NDoRbA5C+1OvnlJvx2Ng/bz+Rib1J+m/wBpdcoERPhi2t7+mNcDz/4ummdHRIRtQGFhYVydW96erpdBcTlqNVqhIeHIyoqCpGRkXBzc2vmSOlKXZrgFUURCoUCFosFarXa7tjq54iIiIjam127dmHnzp3yY0EQMG/ePPj4+DgvKCIiojYuNqUAsz4/CKPFsc+VqOPQqRX44p6rmADuAJj8JaeTJAmJeeXYfiYX28/k4mhGMdrTV6UgAAODvXBtT39c19MfEX5urOgiIgBVSb3MzEw54Zufn+/wXnd3d7m6t3v37lCpOMmhLbg4kWs2mxEbG4uff/4ZiYmJUCqVMJvNGDFiBAYPHozQ0FCEhYUBqGr9zZbdRERE1J6YzWa8++67MBgM8lqfPn0wdepUJ0ZFRETUth1JK8LdK2LbZEEVtQy9RonVc4exBXQ7x+QvOYUoSjiYWoitp6sSvumFlc4OqcV083HFtT39cX0vf1wV6gMF20MTdSgmkwnJyclISEhAYmIiKisd//4XGBgoJ3wDAgJ4I0kb9tlnn2HVqlXYs2dPrc936dIFkZGRuO666zBv3jx4eHgAqFkxTERERNRWxcbG4tdff7Vbe+CBBxAQEOCkiIiIiNq2k1klmPHZAc74pXq561T48t7h6BPk6exQqJkw+UstqsRgwcYjmVgbm4Zz+RXODsfpwnz1mDksBLcO7gpPF3X9G4ioTSopKUF8fDwSEhKQmpoKm82xuy+VSiXCwsIQFRWFqKgoOQFIbVdlZSVef/11LFmyBACgUCggSRLqejum1WrRt29fPPbYY5g+fXpLhkpERETUbGw2G95//32UlpbKa5GRkbjjjjucGBUREVHblZRXhluX7UexweLsUKiN8HJRY+ODVyPCz93ZoVAzYPKXWkRcVgnWHEjDpuNZnDVQC51agZv6B+Gu4SG824aoHZAkCdnZ2XI759zcXIf36vV6REZGIjo6GmFhYdBoNM0YKbWE6mrd/Px8rFy5Ek8++aT8nEKhQEREBKKiomAymaBWq/Hzzz8DqJp5JwiCPPt5x44dGDt2rFNeAxEREVFTOnbsGDZt2mS3Nnv2bISEhDgpIiIioraruNKMmz7ai7QO1F2TmkZoJ1d8/1AMvFz5+WN7wwGB1GyMFht+PHEeqw+k4XhmsbPDadWMFhHrD2dg/eEMDAj2wl3DQ3BD30Do1JzvSNRWWCwWnDt3DgkJCUhISEB5ebnDe/38/OR2zkFBQWzr284IggBJkrB582Z89NFH8nqPHj3w0EMPYdasWXB3r7rL0mAwIC8vD/fddx927NgBhUIBURRx2223ISoqylkvgYiIiKjJSJKEvXv32q0FBwcz8UtERNQIVpuIh9f9ycQvNUpqQSXmfXkUK2cPhUqpcHY41ISY/KUmV2a04NPdKVi1P5VtJhrhWEYxjmUU4+WfTuPuq0Nx78jucNexJTRRa1RWViYne8+dOwer1bGZKgqFAqGhoXLC18vLq3kDJaeLi4vD119/jbS0NAiCAD8/P3z11Vfo168fAMBsNkOj0UCr1SIkJATu7u6QJAlWqxVdu3bFQw89hKCgICe/CiIiIqIrFx8fj/z8fLu1kSNHOikaIiKitu3ln89gb3KBs8OgNmxPUj5e+fkMnr+xt7NDoSbE5C81GZPVhjUH0vHRziQUVpidHU6bV1RpwXs7ErH6QBoeHhOBO4d3g1bFSmAiZ5IkCbm5ufL83uzsbIf3uri4IDIyElFRUYiIiIBWq23GSKk1sVgs2LNnD3bs2AEA8PLywssvv4x+/fpBFEUoFApoNBpYrVaoVCqsXbsW3333nVwxPH/+fAwZMuSy17DZbFAq+TOCiIiIWjdJkrBnzx67NT8/P0RGRjopIiIiorbrq0PpWLkv1dlhUDvw+b5U9Ahwx/Sh3ZwdCjURzvylK2YTJXx3NAvvbE9AVrHB2eG0W0FeLlh0bRSmDAyCUsGWsEQtxWq1IjU1VU74lpaWOry3U6dOcnVvcHAwFAq2T+moRo0aJbc3nDRpEn788UcAf88Drk7eVlRUoFu3bigqKgIATJw4ER999BFCQ0NrnPPs2bNIS0vDhAkTAEBOHhMRERG1VikpKVi1apXd2pQpU+RuKEREROSYQ6mFuOOzA7DYmN6hpqFWCvjy3uEYEurj7FCoCfATQmo0SZKw7Uwu3twSj8Q8x2dbUuNkFRvw+Mbj+GR3Mp64vgeu7enHuaBEzaSiogKJiYlISEhAcnIyzGbHuhkIgoBu3brJCd9OnTo1c6TUFmzfvt1urt3ixYsB2FfrVv86b948OfHr4+ODBQsWoFu32u+6zMzMxMSJEzFlyhQsW7YMnTt3bs6XQURERHTFLp316+XlhT59+jgpGiIiorYpq9iA/1t7hIlfalIWm4QH1x7BpodHIsjLxdnh0BVi8pca5UhaEV795QyOpBU5O5QOJyG3HPetPozBId54amJPDA7xdnZIRG2eJEnIz8+Xq3szMzPhaGMMrVaLiIgIREVFITIyEi4ufHNE9pKSkqDRaGA2mzFs2DD069cPkiTJCd/qit0tW7bgiy++kPc9/PDDGDFiRI2K8epW0RcuXAAAfPfdd4iNjcWZM2fg7u7eci+MiIiIqAGys7ORnJxst1bbex0iIiKqm8Fsw/2rDyO/nGMXqenll5tx/+rD2PjACLhoOF6sLWPylxrEYLbhza3x+HxfCtgw3LmOpBXh1v/twz0juuOJ66P5zZiogWw2G9LT0+WEb3W1pSO8vLzk6t6QkBDOWqVaVbd0LioqkqvHKyoqIAiC3LlBFEW5VfMDDzwg7x01ahRmzpxZazJXoVDAYrFgy5YtUCgUEEURo0aNgru7u3xNIiIiotbm0qpfvV6PAQMGOCcYIiKiNurNrfE4le34SDKihjqVXYq3tsbj2cm9nB0KXQEmf8lhh1IL8cTG40gtqHR2KPQXSQJW7E3B72fz8Mat/TCU/fiJLstgMCApKQkJCQlISkqC0Wh0eG/Xrl3lhG/nzp2ZYCOHVd9YoFQq4eHhAXd39xrzeR999FGkp6cDAFxdXfHII48gPDy8znMWFhYiJycHoihCp9OhX79+ckUwERERUWtTUFCA06dP260NGzYMarXaSRERERG1PQdTCvH5vhRnh0EdwIp9KfhHnwDmG9owJn+pXqz2bf1SCipw2yf7WQVMVIvCwkK5ujctLc3hds5qtRrh4eGIiopCVFQU9Hp9M0dK7U31DQKhoaEAqiqBExMTUVZWBnd3d1gsFqjVasTGxuLdd9+V991///0YM2ZMrRXl1XOCU1NTsXXrVgCA2WxG3759mfglIiKiVuvSql+tVouhQ4c6KRoiIqK2x2C24clvjvPzeWoRkgQ8sfE4fllwDXMNbRSTv3RZrPZtO1gFTFRFFEVkZmbKCd/8/HyH97q7u8vVvd27d7erzCRqrOHDh0Ov18NoNOLChQv4+OOPsWjRImg0GgDAvffeKx87aNAgzJkzB97etc9zr04Iv/zyy/LawIEDMXny5GZ8BURERESNV1paiuPHj9utDRkyBDqdzkkRERERtT1vbo3nZ/TUolILKtn+uQ3jp9pUK1b7tl2sAqaOyGQyITk5GQkJCUhMTERlpeNvhgMDA+WEb0BAANs5U5Oy2WwICwtD9+7dcfLkSQiCgJ9++gmzZs1CQEAAXnrpJZw6dQpAVWJ30aJFiI6OrvVc1W2dv/vuO/z+++/y+vz581vktRARERE1xoEDByCKovxYqVRi+PDhToyIiIiobWG7Z3IWtn9uu5j8pRqyig24b9VhnD7PwfFtVXUVcGxKAT65awiCvFycHRJRkyspKZGre1NTU2Gz2Rzap1QqERYWJrdz9vDwaOZIqSNTKpXw8vLCnXfeicWLF0MQBOzZswdTp07Fo48+ihdeeEE+9p577sH1119f6+y76nbPRUVFeOedd+R51WPHjsWYMWNa6NUQERERNYzBYMCRI0fs1gYMGAA3NzcnRURERNS2sN0zORPbP7ddTP6SnUOphXhwzREUVJidHQo1gVPZpbjpoz1YNnMwhvDuHGrjJElCdna2nPDNzc11eK9er0dkZCSio6MRFhYmt9slailz587Fpk2bsH//fiiVSuzfvx933XWX/HyvXr1w//33w8en9u/V1e2en332WRw6dAiiKMLb2xvTpk1DcHBwi7wGIiIiooY6ePAgzOa/P18QBAEjRoxwYkRERERtC9s9k7Ox/XPbxOQvydYfSsczm07CYuNtRO1JfrkZMz47gFdu7ovbhjBBQG2LxWLBuXPnEB8fj8TERJSXlzu818/PT27nHBQUxHbO5DSSJKFTp054+umn8fjjj+Ps2bNQqVRy9S4A3HDDDRgyZAgAwGq1QqVSyW2egapK9zVr1uDjjz+W90yePBm33347v7aJiIioVTKbzYiNjbVb6927d503uxEREZG9I2lFbPdMrcKKfSmY1DcQg0O8nR0KOYjJX4LVJuLln89g5b5UZ4dCzcRik/DkNydw5nwpnp7UEyqlwtkhEdWprKwMCQkJSEhIwLlz52C1Wh3ap1AoEBoaKid8vby8mjdQIgdVJ2cnTpyIlJQUzJ8/X07wSpIESZKwbt062Gw2PPHEE/D2rnojrVAoYDQaERcXh7fffhubN2+WzxkTE4NFixbx65yIiIharaNHj8JgMNitxcTEOCkaIiKitkWSJLzy82m2e6ZWQZKAV385g40PXM0ihDZCkCR+++jIiivNmPflUexJynd2KNRCRkb44sMZA+Hlyra31DpIkoTc3Fy5nXN2drbDe11cXBAZGYmoqChERERAq9U2Y6REjSdJkvzmeMuWLXj44Ydx7tw5AIBKpYLNZoMkSXB1dcWkSZMgSRK6dOmCffv2ISUlBYWFhfK5/Pz8sHbtWowbN45vuImIiKhVstlseP/991FaWiqvRUZG4o477nBiVERERG3HttO5uG/1YWeHQWTns7uH4Nqe/s4OgxzA5G8HlpRXhrlfHEZaIWcGdDQhPq5YPmsIIvzcnR0KdVBWqxWpqalywvfiD4Xq06lTJ7m6Nzg4WG6LS+RMFyd36yKKIgRBgCAISExMxEsvvYS1a9cCqEoAK5VKmEymGvs0Go08K69r16749NNPMWHChKZ/EURERERN5NixY9i0aZPd2uzZsxESEuKkiIiIiNoOmyhh4vt/ICHX8fFnRC0hyt8Nvyy4BkoFixFaOyZ/O6i4rBLctTwWxQaLs0MhJ/FyUWPN3GHoE+Tp7FCog6ioqEBiYiISEhKQnJwsJ7PqIwgCunXrJid8O3Xq1MyREjWcyWSCUqlESUkJOnXqZDev12azQalU1thTWFiI33//Ha+88gqOHTsGQRBQ/bbs4v8HqlpAP/DAA5g5cyZGjBjRMi+KiIiIqBEkScLHH3+M/Py/O4wFBwdjzpw5ToyKiIio7dh4JBOPbzzu7DCIavX2tP6YOqirs8OgejD52wEdSSvC7JUHUWZ0bI4mtV/uOhW+uOcqDOrGQe3U9CRJQn5+vlzdm5GR4fBerVaLiIgIREVFITIyEi4uLs0YKVHDVVf6JiQkYNeuXfjmm29QXFyMgoIC9OnTB8OGDUOfPn0wefJk+XhJkuqsVF+9ejW2bduGrKwsHDhwAJ07d4bBYEBERASGDh2KSZMm4frrr2/Jl0hERETUKGfPnsX69evt1mbMmIGoqCgnRURERNR2GC02jF+6C1nFBmeHQlSrIC8X/PbYaGhVNQsdqPVg8reDiU0pwJyVh1Bhtjk7FGol9BolVsweimHdWU1JV85msyE9PV1O+BYVFTm818vLC9HR0YiKikJISEitlZJEzlad9LVYLPjzzz8xdepUuznVCoUCoihCo9HA09MTgwYNwpIlSzBkyBAAVS3PVSpVjfMBgMFggEajQXZ2Nmw2G7RaLQIDA2u9PhEREVFrJEkSli9fjqysLHnNz88PDz74IN/DEBEROWD5nhQs+em0s8MguqznJvfCnJjuzg6DLoPJ3w4kNqUAsz4/CKNFdHYo1Mro1Ap8cc9VTABToxgMBiQlJSEhIQGJiYm1ziytS9euXeV2zp07d+YHQtRm/Prrr3jhhRdw8OBB6HQ6mEwmSJIEpVIpt3mWJAmiWPUzd8GCBVi6dGmdraCrk7q1JXfrahtNRERE1NqkpKRg1apVdmtTpkxBv379nBQRERFR21FmtGD0WztRWOHYqDQiZ/HRa7Dr8TFw16mdHQrVgcnfDuJIWhHuXhHLil+qk16jxOq5w9gCmhxSWFgoV/empaXB0R8larUa4eHhiIqKQlRUFPR6fTNHStT0Tp8+jeeffx7ffPONnLDV6XQIDAyESqVCbm4uSktLAUBOBgNVNzv873//w8SJEwHUrAImIiIiauvWrFmD5ORk+bGXlxfmz59f5+gLIiIi+tvSbQl4/7dEZ4dB5JCF4yOx6FqO9Wit+IljB3AyqwSzVx5k4pcuq8Jsw6zPD+LLe4ejT5Cns8OhVkYURWRmZsoJ3/z8fIf3uru7y+2cu3fvzmQXtWk2mw179uzB1q1bAVRV7E6dOhUPP/wwxowZg5SUFCiVSnzwwQf46quvkJubC0EQoFQqkZmZiRtuuAF33nknPvroI7i7u8vnZGUvERERtXXZ2dl2iV8AGDFiBBO/REREDjBabFi1P9XZYRA5bNX+VPzf6HDo1PxMqzVi5W87l5RXhluX7UexweLsUKiN8HJRY+ODVyPCz93ZoZCTmUwmJCcny+2cKysrHd4bGBgoJ3wDAgLYzpnaheqWzFOmTMGmTZugUqkQExODH3/8Ua5iv7ht8/Hjx7F06VJs2bIFFy5ckOcBS5IET09PfPTRR7jjjjsAVCWAFQoF/64QERFRm7VhwwacPv33jEK9Xo+FCxdCrWY7QCIiovp882cmHttw3NlhEDXI0mn9ccugrs4Og2rB5G87Vlxpxk0f7UVaoeMJGyIACO3kiu8fioGXq8bZoVALKy4uRkJCAhISEpCamiq3q62PSqVC9+7d5XbOHh4ezRwpkXOcPXsWvXr1AgB4eHjgm2++wfjx4+2qd0VRtKtw+eKLL/DRRx/h5MmTMBqNUKlUsFqtAIDJkyfjf//7HwIDAwGwFTQRERG1TQUFBfjwww/t1saNG4dRo0Y5KSIiIqK25eaP9+JYRrGzwyBqkIHBXvjuoRhnh0G14KeL7ZTVJuLhdX8y8UuNklpQiXlfHsXK2UOhUrJFV3smSRKys7Plds65ubkO79Xr9XKyNywsDBoNbxag9q+oqAh+fn7Iy8vD2LFjMX78eACwa9tcnfitTgjPmjULo0aNwtKlS/H9998jJydHPubHH39ESEgI3nnnHTz88MNQqVSw2WwQBIEtEomIiKjN2Lt3r91jrVaLoUOHOikaIiKitiUuq4SJX2qTjmYU42RWCcdItkJM/rZTL/98BnuTC5wdBrVhe5Ly8crPZ/D8jb2dHQo1MYvFgnPnziE+Ph6JiYkoLy93eK+fn5/czjkoKIgtaqnDEQQBeXl5UCqVuOmmmwDUPbNXqVSiusFKWFgYPvzwQ4wbNw7vvfcejhw5gsrKSrkKeP78+Vi/fj0+/fRTREdHt+hrIiIiIroSpaWlOH7cvk3lkCFDoNPpnBQRERFR27LmQJqzQyBqtDWxaXjtln7ODoMuweRvO/TVoXSs3Jfq7DCoHfh8Xyp6BLhj+tBuzg6FrlBZWZnczvncuXNyy9n6KBQKhIaGyglfLy+v5g2UqJWLjo6WK3+rb5yoLfFbrfoGiepW0LfccgtiYmLwzjvvYP369cjMzJRn/e7Zswc9e/bEM888g5deeqlFXg8RERHRlTpw4ABEUZQfK5VKDB8+3IkRERERtR0lBgs2Hc9ydhhEjfb9sSz8e2JPeLqonR0KXYTJ33bmUGohnt100tlhUDvyzKaTCO/shiGhPs4OhRpAkiTk5ubK7Zyzs7Md3uvi4oLIyEhER0cjPDwcWq22GSMlajssFgs8PDwQGRmJvLw8eSa2JEn1VsErFApIkgRJkuDv74/XXnsN48aNwzvvvIN9+/ahrKwMOp0ORqMRWVn8Rx8RERG1DQaDAUeOHLFbGzBgANzc3JwUERERUduy8UgmjBax/gOJWimjRcQ3f2ZiTkx3Z4dCFxGk6n6E1OZlFRtw00d7kF9udnYo1M74ummw6eGRCPJycXYodBlWqxWpqalywre0tNThvZ06dZKre4ODgzlrlOgv1RW7F3vttdfw1FNP4ZprrsEvv/wCFxcXhxLAtZ2ztLQU77//Pr788kucOXMG3bp1Q2pqalO/DCIiIqJmsWvXLuzcuVN+LAgC5s2bBx8f3jxMRERUH1GUMH7pLqQUVDg7FKIrEuarx45HR3NEYCvCyt92wmC24f7Vh5n4pWaRX27G/asPY+MDI+Ciqbu9KbW8iooKJCYmIiEhAUlJSbBYLA7tEwQB3bp1kxO+nTp1auZIidqW6gStzWZDYWEhNm/ejOLiYkiShE6dOsHV1RUHDx7Epk2bcPvttzfozW114lcURXh4eOCZZ57BuHHj8MILL2Dx4sXN9ZKIiIiImpTZbEZsbKzdWu/evZn4JSIictDB1EImfqldOJdfgdiUQgwP42fMrQWTv+3Em1vjcSrb8So/ooY6lV2Kt7bG49nJvZwdSocmSRLy8/Pl6t6MjAyH92q1WkRERCA6OhoRERFwcWElN1FdqhO0jz/+OLZt24azZ8/Kz2m1WthsNlitVjz99NNwd3fHhAkToFI17G2VQqGQk8wjRozAL7/8ctn5wUREREStydGjR2EwGOzWYmJinBQNERFR27P1dK6zQyBqMttO5zL524ow+dsOHEwpxOf7UpwdBnUAK/al4B99AjCU839blM1mQ3p6upzwLSoqcnivl5eXXN0bEhLCxBKRg86ePYsPPvgA//3vfyEIAhQKBZRKJSRJgs1mk5O2KSkpePvtt6FQKHDNNddAr9c36DoXVwHz7ycRERG1FTabDfv27bNbi4yMREBAgJMiIiIialskScL2M0z+Uvux/UwunrmhJ1s/txJM/rZxBrMNT35zHJzcTC1BkoAnNh7HLwuuYfvnZmYwGJCUlISEhAQkJibCZDI5vDc4OBhRUVGIiopC586d+QOXqIGKioqwZs0arFixQl4TRRGiKEKlUsFqtUIQBEh//fDduXMnzp49i0WLFmH69OkIDg5u8N87ztkmIiKitiQuLg6lpfbdx1j1S0RE5LikvHKkF1Y6OwyiJpNWWInkC+WI8HN3digEJn/bvDe3xiO1gD8kqOWkFlSy/XMzKSgoQEJCAhISEpCWliYnluqjVqsRHh6O6OhoREZGNrjykIjs/fnnn/j+++/lmy68vb0xffp0DBo0CAEBAdi6dSv27t2L1NRUFBYWAgBycnLwr3/9C7///jseeeQRjBgxAm5ubs58GURERETNQpIk7N27124tODgYISEhToqIiIio7dnGql9qh7adyWPyt5Vg8rcNY7tncha2f24aoigiMzNTbuecn5/v8F4PDw9ERUUhOjoaoaGhDZ41SkQ1iaIIANixYwdOnz4NQRDg6+uLr7/+GqNHj5aPu+GGG3D27Fls2rQJv/zyC/bt2wer1QoA+PXXX3HgwAHMnz8fd999N7p3786qXiIiImpX4uPja/zbZeTIkU6KhoiIqG1iy2dqj7afycX/jQ53dhgEQJAcLS2jVsVgtmHi+3+w6pecJrSTK9s/N4LJZEJycjLi4+ORmJgIg8Hg8N4uXbrICV9/f3+2cyZqBhaLBeHh4cjMzISLiwuee+45/Otf/4LNZoNSqZR/rbZnzx5s3LgRP/zwA1JTU+3ONXLkSDz22GMYM2YMPD09W/iVEBERETU9SZKwfPlyZGVlyWt+fn548MEH+e8TIiIiB+WXmzD01e0c5UjtjiAAh566Fr5uWmeH0uGxVKyNYrtncja2f3ZccXGx3M45JSVFri6sj0qlQvfu3REdHY2oqCi4u7NlBlFz++OPP1BWVgYA6NatGxYtWgQA8oeZ1YlfSZIgCAJGjhyJqKgo9O/fHxs2bMDOnTthNBohCAL27NmDw4cP48EHH8TcuXMRHR3NKn0iIiJq01JTU+0Sv0DVrF8mfomIiBz329k8Jn6pXZIk4Pf4PEwbHOzsUDo8fgLZBh1JK2K7Z2oVVuxLwaS+gRgc4u3sUFoVSZKQlZUlJ3xzcx1v46LX6+Xq3u7du0Oj0TRjpERUrTqZ6+7ujsrKqpur7r33Xmg0mhrVvgDsPuD08/PDPffcg759++Kbb77B999/j/j4eACA0WjEu+++i127duGxxx7DhAkT0KlTp5Z7YURERERN6NJZv15eXujTp4+ToiEiImqb2PKZ2rPtZ3KZ/G0FmPxtYyRJwis/n+adQdQqSBLw6i9nsPGBqzv8nd4WiwXnzp2T5/dWVFQ4vNff3x9RUVGIiopCUFBQh/+9JGpJ1Unf6r93er0earUaNpsNarUaAGokfus6x5AhQxAZGYkBAwbg66+/xvbt21FWVgZBEHD06FHcdddduPfeezFnzhwMHTqUs4CJiIioTcnOzkZycrLd2ogRI/iehoiIqAFsooS9SfnODqPFFO9ei5K9X9qthSz+sdVfP2ftYpgyTsqPtcF9EDDztSaPrz3ak5gPmyhBqeBn3M7E5G8bs/1MHv5ML3Z2GESyI2lF2HE2D9f29Hd2KC2urKwMCQkJiI+PR0pKCqxWq0P7FAoFunfvLid8vby8mjdQIqpTdeJ21apVKCkpweTJkxEVFYVjx45B+utOK4vFIieCa3PxDRuenp6YPn06evfujf79++Pbb7/FiRMn5OM+/fRT5OTkYNOmTc37woiIiIia2KVVv3q9HgMGDHBOMERERG1U8oVyVJhtzg6DqNlUmG04d6Eckf4cYehMTP62ITZRwptbzzo7DKIa3thyFmOj/dr93TySJCEnJ0du55ydne3wXhcXF0RGRiI6Ohrh4eHQajn0nsjZrFYrVCoV4uLiMHv2bPj7+yMvL0++IePgwYMAcNnE76Wqk8l9+vRBWFiYXAW8detW5OdX3dn79NNPN/lrISIiImpOBQUFOH36tN3asGHDGvQ+iYiIqL1JTU1F9+7d63z+888/x+zZs+3W4rJKGnwdY8ZJ5K5dXOfz/jNehS6kX4PPS9Rc4rJKmPx1MiZ/25DvjmYhIbfc2WEQ1ZCQW47vj2Vh6qCuzg6lyVmtVqSmpsrtnEtLSx3e6+vrK8/v7dq1K9uhEbUyKlXV26Dp06cDAHJzc/Haa6/Bw8MDALBz504cO3YMAwYMgCiKDv0drq4CliQJrq6u+Oc//4mePXti0KBB+OijjzBlyhRcddVVzfSKiIiIiJrHpVW/Wq0WQ4cOdVI0REREbcOKFSuaJPlbfnxbE0VE1DLiskpwSzvMFbQlTP62EUaLDe9sT3B2GER1WrotAZP7BUKruvxszLagoqICiYmJiI+PR3JyMiwWi0P7BEFASEiI3M65U6dOzRwpEV2pjIwM+Pj4yI9FUURJSQkEQcD58+exZMkSfP7553JCuLqytz6CIMjHRkZGYt68eRg6dChGjRrVbK+FiIiIqDmUlpbi+PHjdmtDhgyBTqdzUkRERERtw+7du5GUlISIiAh57WQDk7+iqRKV8XvrP5CoFTmZ3fCbHKhpMfnbRqyNTUdWscHZYRDVKavYgLWx6ZgTU3erk9ZKkiRcuHBBnt+bmZnp8F6tVovIyEhERUUhIiICLi4uzRgpEV1OZWUlvv32W9x+++1yVW99unbtii+//BLffvstli5dioyMDEiSBI1GA4vFgu+++w5arRaLFy9Gv3797JK69bm4Clij0TDxS0RERG3SgQMHIIqi/FipVGL48OFOjIiIiKjt+Pzzz/HKK68AqBrreCrb8a6CAFBxdjcki7E5QiNqNqeyS2ETpXY/JrI1Y/K3DSgzWvDRziRnh0FUrw9/T8K0wV3hrmv9c59sNhvS0tLk+b1FRUUO7/X29pbbOXfr1g1KZduvdiZqD+bOnYv169fj+++/x4svvojevXvXu0cQBAQHB+OBBx7AVVddhQ8++ABfffUVzGYzVCoVbDYbfvzxR5hMJtx111247rrroNfrATSsCpiIiIioLTIYDDhy5Ijd2oABA+Dm5uakiIiIiFo3b29vu88ZV61ahSVLlkChUODchXIYLLYGna/ihH3LZ4XOHaKxrElipboFzHzN2SG0aZVmG1LyyxHhx7m/zsLkbxvw6e4UFFaYnR0GUb0KK8z4bE8KFl0b5exQamUwGJCYmIiEhAQkJSXBZDI5vDc4OFhO+Pr6+jKZQ9TKbNmyBevXrwcAfPvtt9i1axceeeQRPPnkk1Cr678hRafT4eqrr0ZYWBjGjh2Lt99+GwkJVeMWysvL8d133yE5ORnHjx/HLbfcgr59+/L7ABEREbV7Bw8ehNn89+cRgiBgxIgRToyIiIiodZs0aRJ++uknFBcXAwAyMzOxZcsWTJw4ESca2PLZkp8BU9bZvxcEBVx7jkL50Z+bMGKi5nEis4TJXydi8reVM1psWLU/1dlhEDls1f5U/N/ocOjUraMatqCgQG7nnJ6eDkmSHNqnVqsRERGBqKgoREZGypV+RNQ6ff/999BqtbBYLFAqlSgoKMCzzz6LBQsWOJT8rebv749Zs2ZhyJAhWLZsGT777DO5wvfEiRM4d+4cjh8/jttuuw3/+Mc/4OXlBcDxKmAiIiKitsJsNiM2NtZurXfv3vDx8XFSRERERK2fTqfDjBkz8N///ldeW7FiBSZOnIi4BiZ/yy+p+nUJGwSlG38OU9sQl1WCWwZ1dXYYHRaTv63cT3HnUWywODsMIocVVVrwc9x5p31jF0URGRkZcsK3oKDA4b0eHh5ydW9oaKjDM0OJyPmeeuopdO/eHRs3bsTJkydhsVjw+eefw93dHVartUF/nzUaDQYOHIhXX30VY8aMwdtvv40///wTQFUV8Pfff4/Tp0/j2LFjmDp1KoYOHcrELxEREbU7R48ehcFgsFuLiYlxUjRERERtx5w5c+ySvz/88AMKCgpw5rzj834l0YbyU7/Zren7XgdLQUaTxUnUnM7kNGy+NTUtZjZaudUH0pwdAlGDrT6Q1qLJX5PJhKSkJCQkJCAxMbHGBxSX06VLFznh6+/vzwQOURskSRKCg4Px5JNP4qqrrsLSpUvh5uaGWbNmAQBUKpWcAM7Pz4evr69D5+3UqROmTZuG/v37Y/ny5Vi2bBkMBgMEQUBCQgLef/99uQr4hhtugJ+fnxwPv5cQERFRW2az2bBv3z67tcjISAQEBDgpIiIiorZjyJAh6NevH06cOAGgqpvG2rVrkWPq6/A5DEmHIFYUy48VLh5wjRyGkiZM/lrL8mEpyIS1JA+SqQKS1QxB4wqFixtUHp2hDYyCoNI02fWagmS1wJh5GrbSC7BVFAEKBZSuXtB0DoXaP4yfx9RCtBhhzk6AraIItsoSSBYjFC4eULp4QO0fBrVX076/s5ZegDkvBX8mlOHN4j0wmUxwcXGBXq9Hly5dEBoaiqioKOh0uia9Ltlj8rcVi8sqwbGMYmeHQdRgRzOKcTKrBH2CPJvtGsXFxXJ1b2pqKkRRdGifSqVCWFgYoqKiEBUVBXd3zh0gausEQYAoilAoFBgzZgz69esHjabqHyc2mw1A1d99k8mEnj17Ytq0aXjhhRfkZO3lqFQq9OrVC8899xyuueYaLF26FLt37wYAGI1GbNmyBfHx8Th27BimTZuGkSNH8h8aRERE1ObFxcWhtNS+WoNVv0RERI675557sGjRIvnx559/DuON/3F4f/mJrXaP9b3HQlBeWTrHVlmCyoT9MKYehzEjzi65XCulCtouPeA+eDJco0dAEBRXdP0rYS3ORfGedahM3A/JVFnrMUq9N9wGToTHVVOg0Lhc0fVy1i6GKeOk/Fgb3AcBM1+r9djs5Q/DcuHvIj6Fqye6PvzFFf15VZzehfwf3rRb87nuQbgPnuzQfkm0oTxuOypP74Ix8zRgs9Z5rMorEK49R8LjqlugdGncZ+XWsgKU/fkjKk7/AVtJLgDgAoAnv639eI1GgwEDBuDaa6/FtGnTMGDAgEZdl+rG5G8rtoZVv9SGrYlNw2u39Guy80mShKysLDnhm5eX5/BevV4vV/eGhYU1aP4nEbUNCkXVP0AkSbKbQ6dUKuVZ3wsXLkRBQQGWLVuG33//Hf/5z39w8803O3R+T09P3HjjjejTpw9Wr16NDz74AEVFRQCA1NRUfPzxxzhx4gSmT5+OiRMnIiQkpGlfIBEREVELkSQJe/futVsLDg7m+xsiIqIGuPPOO/Gvf/0LZrMZAHDs2DEEDIiHNiCi3r228iIYzh2xW3Prd90VxXPhhzdReXYPINoc32SzwpRxEqaMk1B3CobvzYuh6dzy7wdKD21C8R+rIFlMlz3OVlGEkj3rUH5iGzrf8rRDv9dNwa3vtSj6bbn8WKwsgSH5EFyjrm70OcvjttsvKNVw7T3Gob2VCftR9PsKWIvOO3S8tfg8SvdvQNmfP8H7mrsdTjBXKzvyI4p2fQHJ7Hg3TrPZjIMHD+LgwYN49dVXYTAYWAncxJj8baVKDBZsOp7l7DCIGu37Y1n498Se8HRpfKLVbDbj3LlzSEhIQEJCAioqKhze6+/vLyd8u3Tpwko8og6itr/rgiDg2LFj+OSTTwBUVfPGx8fjlltuwZw5c/Dss8869GGmQqFAeHg4nnjiCYwcORLvvPMOfvnlFwBVFca7du1CXFwcDh8+jA8//JBvWomIiKhNio+PR35+vt3ayJEjnRQNERFR2+Tr64sbb7wR33zzjbxWcWK7QwnJ8pM77JK0moBIaPxCrygeU+aZhiV+L2EpyEDO6sfR+Zan4RI64IpiaYiiXatQuv/rBu2xlV5A7trF8K+jUrep6XuPRdHOLwDx7+ra8hPbG538tZbmw5h63G7NNWo4lDq3y+6TJAkle9ahZO+XjbquZKpE4bZlMF9Ihc/1/wdBoax3T/Efq1Gyb32jrkfNi8nfVmrjkUwYLY61sSVqjYwWEd/8mYk5Md0btK+0tFRO9qakpMBqrbslxcUUCgW6d+8ut3P28vJqRNRE1F7pdDrce++92Lt3L86ePSuvr1ixAlu2bMErr7yCmTNnQqms/42tXq/H+PHjER0djfXr1+Pdd99FdnY2FAoFCgsLObeEiIiI2ixJkrBnzx67NT8/P0RGRjopIiIiorZrzpw59snf07vgPW4uBNXli2Uurfq80qrfGgQFNAHhUPuGQN2pKxQu7lBoXAFIEE2VsBZlw5QVD1PWGUD6O0chmQ3I3/QGAu95DyqPzk0bUy1KD35Xe+JXqYZL2GDogntD6eYD0WKCtSQXhsQDcvtlyWLEhW9ehmt084+tUOq94BI+BIbEA/Ka4dxh2CqKodR7Nfh8FSd/s/t9B6qqi+tTuOUjlB/7tca6QucOXfcB0AREQOnqBUGthWgshyU/HYZzf8JamGl3fPmxX6HQ6uE99p7LXs+YdgIl+2r++QhaPVxCB0DjH4b5Nw5H/+7+MJlMKCsrQ3p6Ok6dOoXY2Fjk5OTU+5qo8Zj8bYVEUWLLZ2oX1hxIwz0jQi9bdStJEnJychAfH4+EhAScP+9YOwoAcHFxkZO94eHh0Gq1TRE2EbVDPXr0wEcffYSNGzdizZo12L9/P4qLi6FQKJCVlYXZs2dj8+bNeOmll9CzZ896zycIAoKDg/Hwww/j6quvxscff4wvv/wSPXv2xJNPPtkCr4iIiIio6aWmpiIry74LWUxMDDspERERNcKECRMQFBQk/2wVjWWoTNwPfc9r6txjzDwDa8HfyThBpYG+V93HO0pQquAaNQL63mOgC+kPhU5f7x5rSR6Kdn2BytO75DXRUIrCLR/Db9rzVxzT5VgKMlH8x+oa67qwwej0j/lQefjWeM77mrtQGb8PBVs/hlhRDFtZfq3J0Obg1u86u+QvRBsqTv0Oj6umNPhclyb/le6+0HUfePk9J7bVeK0KnTu8xsyCW59xEFSaWvdJkgRDwn4UbPkYYmWxvF4a+w20wb3hGnFVndesqviV7NY8rpoCz5gZUGhdAQCDrx2AmwYE1XrdP//8E+vXr8fy5ctrPE9XjsnfVuhgaiFSChxvb0vUWp3Lr0BsSiGGh3WyW7darUhJSZErfEtLSx0+p6+vr9zOuWvXrvKcTyKiukiSBJvNBrVajRkzZmDIkCFYuXIlfvjhB7sq4G+++QY7duzAiy++iPvuu8+h6l0XFxfExMQgPDwcV199NcaPH9+cL4WIiIioWV0669fLywt9+vRxUjRERERtm1KpxN13343//Oc/8lr5iW2XTf6Wn9hq99gl6moo6mn364jAWe84lPC9mMrTD53/+QSKfYJQsmedvG5IPgxLQSbUnbpecVx1KdjyMSSr2W7Ntcco+N70BASh7s+DXaNHQO3bDTlrF0OsLIZkvfyc4KbiEj4ECr0XxIpiea08bkeDk7/GzNOwFmXbren7jr/sa7YW56Jw2zK7NZVPEPxvf6XWJPnFBEGAa/QIaAIjkbP6CdjK/h79UbxzJVzCh9Z6E6BoqoQxPe6SOK+F97i5dmt5ZbX//guCgMGDB2Pw4MF48cUXWdTVDJg1aYW2ns51dghETWbbX1/PFRUVOHr0KNavX4833ngD69atw+HDh+tN/AqCgNDQUFx//fWYP38+Hn74YVx33XXo1q0bE79EVCtJ+vuuw9LSUgiCAJVKBZutarZNZGQkXnnlFbzyyiv45z//ic6dq1oVCYKA4uJiLFy4EDfddBMOHz7s8DUDAgLwf//3fw5VDRMRERG1RtnZ2UhOTrZbGzFiBP/dRUREdAXuuce+da4x9Tispfm1Hiuajag8az9+oalaPjc08Xsxz5gZ0ARePAJCqpGkbkrmvFSY0k/Yram8A+E7+dHLJkGrqTt1he/kRc0VXq0EhRJuvcfZrVkupMKUk9Sg81Sc2F5jza3v5QsNSg5+C8nyd5JVUOvgd9uL9SZ+L6by6Azfm+w72Vny02FIOljr8daSvJqtqftPqHFcbqmx3mu7uLiwy0wzYOVvKyNJErafYfKX2o/NR1MRmLMfWVmZ9R/8F61Wi8jISERFRSEiIgIuLi7NGCERtTeiKEKpVOLTTz/FkSNHMHv2bAwfPlye5yuKIhQKBf75z39i4MCBWLVqFb799lucOnUKZrMZgiBg27Zt+OOPP/D0009jwYIF8PDwqPe6jswLJiIiImqtLq361ev1GDBggHOCISIiaiciIyMxatQo7N69u2pBElEetx1eMbfXOLby7G5IZoP8WOnpD11I/5YKtU6CIEDfexzM5xPlNVPm6Wa7XtmxX2qseY+7t95ZyRdzCRsMl4ir6kxeNgd9v2tRevBbu7WKE9ugDYhwaL9oMaLi7G67NW1wH6i9u9S5x1ZZUiNh7DHsFqi9AhyM+m+6rr2gC+kPY9pxea0yYT9cI4fVjPWir9NqShf3Gmt1Vf5S8+Ptm61MUl450gsrnR0GUZPJq5RwKqP2u9ku5u3tjWHDhuHuu+/GE088galTp6Jv375M/BJRnURRtKvyBQCbzQalUolz587hgQcewKefforHH38cu3btko9VKBSQJAmSJCE4OBhPP/00Xn/9ddx6660IDAyEJEkQBAEmkwnPPfccJkyYgJ07dzrhFRIRERG1jIKCApw+bf8h7rBhw6BWO/4hKxEREdVuzpw5do8r4nbU+DwDqGoJfTG3vuNbTUWk2sc+AWnKSYZkszbLtYzJ9p3YlG4+cAkf0uDzuA2Y2FQhOUTj2w2awCi7tYrTf0CyWhzaXxm/zy75DwBufa+97B5D0qEara3d+l/v0PVq4xI+1O7xpa2dq9WW6DXWckOAwWJrdCx0ZVj528psY9UvtUPpohe8FDk11oODg+X5vb6+vq3mzQwRtU7Vid3S0lIYDAb4+/sD+LuSV5Ikufr2/vvvB1DVUSMtLQ2enp5232Oq/79677XXXosBAwZg9erV2LBhA44dOwaj0QiFQoHY2FiMGzcOjz/+OJ544gm5TTQRERFRe3Fp1a9Wq8XQoUPrOJqIiIgaYtq0abj//x6GxVhV9GUtPg9TxknouvWVj7EUZtlX0wqKehN/V0I0G2DKOAlzXios+ekQjWUQTZWQLCZIl7TzBQDJfEn7XpsFtoriBrUWdoStohjWEvsciUvkMAiKhndbcwkbBEGtg2Spv/VwU3Hrdx0KzyfIj0VjGSqTYqHvMbLeveWXVPAKGhe41rPPmHHS7rHSww8q98b/mai8/O0e20pyIRrLa8ydVvl0gULnDtFYJq8V71wJtU8X6IL7/L3fVvMmB2oZTP62Mmz5TO1Rhs0L/VQ5UKvViIiIQFRUFCIjI6HXN37WBBF1PNWJ3VmzZiEpKQkvvfQSpkyZIid+LRYLNBoNPvvsM/z222/yvsWLF6NHjx61nrN6hp0kSfD19cWiRYswbNgwfP7559i2bRvS09PlY9966y38/PPP+M9//oMbb7yxGV8pERERUcspLS3F8ePH7daGDBkCnU7npIiIiIjaF71ej25DxyN592Z5rfzENrvk76VVv7qQflB5+jV5LKacJJTGfgND4sEaFaMNJZrKATRt8tdcy4xcjYNtky8lKJTQ+IXClHX2SsNymL7nNSja8Znd721F3PZ6k7/W4lyYLqmyde0xEgrN5d+PXdp+WzSUInvF/AZG/bcaSX4ANkNpjeSvICig7zMOZYc32V07d+1i6EIHQt97DFzCh8AqsoDCWZj8bUXyy004mlHs7DCImtwFyQ2TbpmOgT0joFLx2w4RNZzVaoVKpcLq1auxadMmqFQqLFiwADt27MBjjz2G7t27Q6PR4Pz581iwYIG8b+rUqbj55pvr/fBSEAS5CnjEiBHo27cvvvzyS3z55Zc4cuQIysvLoVAocPr0adx0002477778NRTTyEkJKS5XzoRERFRszpw4ABE8e8KH6VSieHDhzsxIiIiovan+4jJdsnfyvi9EK97EAqtKyTRhoqTv9kd79bvuia9vmSzomjHpyg7+gtQS2VvY4imph9faassqbGm9glq9PlUPl1bNPmr0OnhEjUclad3yWuGc3/CWl4IlZtPnfvKT+4AYF8l60jlt62swO6xZDHCkpfSsKDrIRrKAO+a654x02FIioW12L7jpzH1KIypRwEI+CGoOx6IvRZDhw7FqFGjEB0d3aSxUd0487cV+e1sHmpp9U/U5kkAUs16Jn6JqNFUKhUqKysxa9Ys+XFWVhZWrFiB6dOnY+XKlQCARx99FEZj1V2KgYGBmDdvHrp06VLXae1UVwGLogh3d3fcf//9eOeddzB79mxERETIH4oqlUp8+umneP3115v4VRIRERG1LIPBgMOH7efqDRgwAG5ubnXsICIiosbwCesLVaeu8mPJYkLFmT8AAIZzR2ArL5SfU+jc4Bp1dZNdW7JZceH711D2509NlvgFADTDzF/RWF5jTaFtfPfIK9nbWDUS95JYI7lv97QkoSJuh92ayrsLdMG9L3sd0WK64uptR0iW2q+hdPGA3+0vQ+MfXtdOlGSdwyeffIL77rsPPXr0QGBgIB588EHs2rWrjj3UVJiJaUXY8rnhMj+eA1tpnvxY32c8fCcvcmJEVJftZ3Lx0WN32X1jHz16NHbu3Om8oIioTXF1dcWnn36Kf//738jPz4cgCLBYLDhy5Aj+/e9/44svvrD7HjNv3jwMGTKkwfPEq9tIC4KAAQMG4K233sKwYcOwZs0aHDlyBPn5+XBzc8PLL7/c1C+RiIiIqEUdPHgQFotFfiwIAmJiYpwYERERUfukVAhw63stineulNcq4rbDfcA/arR8du01GoJK02TXLjmwEYbEAzVjcu8El8jh0Ab1gNorEEp3Xyg0LhBUGggqtd2xxrQTyP3yqSaLqS6i2VBjTVA3fhSFUE/b5OagC+kPpYefXd6iPG47PIffWuvxpvS4GnOO3frVX/VbW6K8pam9AhBw99soP7ENpYc2wVqYednjc3Jy8L///Q//+9//MGTIELzxxhsYO3ZsC0XbsTD5Wwur1YpTp07h7NmzKC4uRnFxMWw2G/R6Pdzc3NC1a1eEhoYiNDQUWq22Sa5pEyXsTcpvknMRtUZ7EvObeAIEEXVEc+fOxbRp0zBv3jysWbMGNpsNKpUKeXl5yMv7+031ddddhwcffBB6vV5u59wQ1QljURSh0Wgwc+ZMDBkyBF988QVWrFiB1157DT4+dbfrISIiImrtzGYzYmNj7dZ69+4Nb+9a+voRERHRFVEqBLj1GY/iXavk6ltT1lkY00/CkHTI7timbPlsqyhG6YEN9osKJbzHzoH74MkQFEqHziNZzU0W0+UoNC41r22pOYfWUbXNsG1ugiDAre94lOz9Ul6zFmTClHUW2qAeNY4vj9t+yQmq5unWex11zdyUpks0Au9+u+FBXwFBqYL7wIlwHzgRppwkGM8dgTHjJEzZ8ZAu0xr88OHDGD9+PJYsWYKnn366BSPuGJj8/YvJZMJ3332HFStWYM+ePTAYat5hcim1Wo0+ffpg6NChGD16NK6//nr4+jYuvZV8oRwVZluj9lL7lrN2MUwZJ2usB9z1JrRBPZ0QUeNUmG1w49c4EV0hq9UKDw8PrFq1CjNmzMD999+PrKwsu2MEQUBlZSXOnDmDESNGQKFQNCoBDMBub3R0NF555RVMnjwZI0aMaKqXREREROQUR48erfHZB6t+iYiImodKIUDp5g2XsMEwJP+d7M3/4Q1A/Lt9srpzKLQBEU123cqk2Bpte73HzIbH0JsadB6bsazJYrocha7m6AnRVNHo813J3iuh7zseJXu/wsVzfMvjttdI/opmAyrj99mt6boPhMq9/jyTQqsHFEpA/Pszd9HQMn9OddEGREAbEAFPTIckiRioL8f1nYrw+++/Y+vWrSgtLbU7XpIkPPPMMwgNDcXMmTOdFHX7xJm/AH744QdERERgxowZ2LZtm0OJXwCwWCw4evQoPvnkE8ycORP+/v5YsGBBo2KIy6o5yLw9Kt69FmmvTbb7j+pmKcyqNfELoEY7kLagwtz0cyCIqGNRqVSw2are1E6cOBEZGRm4+eabIQiCXXvn2NhYzJ07F6+++irKy8vt5vk2VPVeq9UKQRCY+CUiIqI2z2azYd8++w8aIyMjERAQ4KSIiIiI2jflX58tXFrVe/Gs39qev1LGlGN2jxU6N7gPvrHB57EW5zRRRJendPWssWYpzKrlSMfU14a4uai9AqDt1tdureLM7hoV1JVndteobHb0a0AQhBq/X7byAkhi6yjAEgQFOodG4qGHHsKGDRuQl5eHdevWISoqqsax//rXv2C1MnfQlDp08leSJDz00EO46aabkJl55d8ERFFEenp6o/Z2lOQvNczlErwVZ3ZDdELbiitRbuI3cCKqX3Z29mWTtEql0u75EydOQJIkSFLV3ZTVv8bHx+ONN97A9OnTsWPHDgB/V/I6wmq1IiEhAbm5VXNXVCqVfG4iIiKitiwuLq5G5QWrfomIiJqPi7qqvbJLxFVQuHrVfpBSBX3vMU16XVvZBbvHmi7REJQNbwhryjrbVCFdlqaWqmdzTlKjziWJNpjzUq8wosa7dG6vZKpAZcJ+u7XyuB12jxU6d7hGDHP4GppA+0SqZDE1+verOVR/3QOAVqvFjBkzcOTIEQwcONDuuKysLBw4UHMuNTVeh07+Pvjgg/jvf/9b63PdunXD7Nmz8eabb2LlypXYsGEDPv/8cyxduhT/93//h6uuuqrJ5v0CwEkmf+kSkmhDxcnf6n7ebEDl2d0tGNGVqzC1jruOiKj1ev311zFp0iT8+uuvKCuru1VNdTXuCy+8gHPnzgEAdDodpk2bBqAqcatUKlFeXo6tW7fivvvuw9NPP40LFy44XAV8/PhxzJs3D88//zx+++03SJJkV11MRERE1BZJkoS9e/farQUHByMkJMRJEREREbV/fu5VuQThMgle14iraq18vRK2SvubvWprq1z/OUpgSo9rqpAuS6n3gsrT327NkBgLSWp4JzfDuT+vaF7wlXKNHgFB62q3Vn7i7/m+lqLzMGWesnte32s0BJXa4Wu4dB9YY+3SNtLOVP11fzE3Nzc8//zzNdZPnDjREiF1GB125u/333+PTz75pMb6oEGD8MYbb2DcuHH1fsBbWVmJX3/9Fd999x2+++47VFQ0rn+8TZRwKru0/gOpQzEkH67R9gMQYDcn4MS2Jm8F0pw6z3gVOc9PgFLB5AkR1ZSWloannnoKkiRh5syZeOihhzBz5kz06NGjznm9ERERGDZsGGJjY/Hggw9i6dKlePHFF3HPPfcgNjYWQFXFbmpqKt5//33s27cPCxcuxM033wyFQiFX8l76M7+goADLly/H9u1Vb8rj4uKwefNm+Pj4NOPvABEREVHzi4+PR35+vt3ayJEjnRQNERFRx+Dv8XcSzK3fdSg79H2NY5rjc15BrbN7LBoanoco+/OnGu2Km5MufAjK//xJfmwrL4Qh6RBcIx2viAWA8uNbmjq0BlGoddD3GGUXhzHtOKyl+VB5+KIibnuNPQ39GnAJHwoI/wMuSo6XHfsFnldPa1Siv6n5e+hqXe/Ro0eNtZISFkg2pQ5Z+StJEhYtWlRj/ZZbbsG+ffswfvx4hyp7XF1dccstt2D16tXIysrCO++8g8jIyAbHc+5COQwWVkSSvUtbPgtaV7gPmmS3Zso8DUuBc+YWNEal2YaU/HJnh0FErdQLL7wASZKgVCpRUlKC//znP5g+fTqKi4vr3HPnnXfi66+/xptvvom5c+fCZrOhR48e2L9/P9555x0oFApYrVYoFAoYDAbs3r0b8+fPx4IFC5CWlibPCrbZbHIi2GKxYOvWrVi+fLl8nVGjRjHxS0RERG2eJEnYs2eP3Zqfn1+jPssgIiIix/m5/50E03QOQdf5a9B13mq7/3RhQ5r8uko3b7vHpqyzDRolaL6QhpL9G5o6rMtyHzCxxlrR7ysg2SwOn8OQegyGROe3Eb609TMkERUnd0CSRJRf0vVT7dcdmoDwBp1f5ekHfZ9x9pcwVSL/p3dbxeiy2ip/AeD8+fM11jp37tzc4XQoHTL5u2/fPqSmptqtBQUFYeXKlY1u5ezp6YlHHnkEb775ZoP3nmDLZ7qEraIIhuRDdmv66JFwq+UH3+XmArdGJzL59U5ENZnNZsTExOCmm26CTvf3P4hiYmLqTLqKoghRFBEcHIzHHnsMvXv3hlKphMVS9Y+BhQsXIjU1Ff/4xz/kYxUKBbKysvDZZ59h+vTpWL16NYCqOcLVN34dPXoU77zzjnyeHj164LXXXmvOl09ERETUIlJTU5GVlWW3FhMTw9EWREREzczPwz7voNR7Qenmbfdfc/w81gX3tnssmQ0o2bvOob3W4lxc+GYJ0ICka1PQ+IVC262ffSyFWX8lNOtv/2wpzELB5rebK7wG0Qb1hKpTV7u18rjtMKYeh63Ufh6zW99LEsUO8oy5HVDat4o2JB5A4a8fQLI27s/OWpyLwq3LYL6QWuvzlYmxKD+xrd7z+9VR+fvee+/VWOvfv3+D46S6dcjk7y+//FJjbfbs2XB3d3dCNEAck790ifK4HYBoXw2u7zMOGr9QaPzt7/6pOPkbJLHtVI7z652IaqPRaHDvvffihRdewGOPPYbg4GAEBgbiv//9L4CqRK/NZpP/H6ia+6tQKGrM7lWr1ZAkCTabDV27dsXPP/+ML774Am5ubrBarRAEARaLBYcOHcLjjz+OGTNm4MiRIwCq3iO89dZbOHz4sHy+2sZEEBEREbVFl8769fLyQp8+fZwUDRERUcdxceVvS3KNjgEE+zRQaey3KP5j9WU/U644vQs5qx+HtTgHAGrMrm1unSb8X42EZuXpXbiwcQmsZfl17AIqE/Yjd+1i2CqKAACCqnHFfk3p0qSuteg8irZf8lmTUgV9n7GNOr/aKwCd/jGvxnr58a04v+oxVCYddKgKWDRVouLUTuR98zKy/ncfyv78sc7krrU4BwU/v4fMj+9B4Y5PYcw4VWti/tLK3/z8fMyaNQvff/+93XpUVBSGDh1ab4zkuA458zctLa3G2uDBg50QSZUz5+377NsqimHOSYStogS2ymIIggIKvReUei9ou/SAooW/0bYH1tILMJ9PhLUkD5LVBIXOver3s2tPKPXe9Z+ghV08+B0AVJ7+0P51l5a+zziYc5Pl52wVRVUzD6KGN9n1RYsJlvx0WAoyIBrLIZkNgKCAoNZCoXODysMPKu8AqNx9G3zuMzlNM9+6vLwcZ8+eRUJCAgoKClBWVgatVgtvb2/4+flhyJAhCAgIaJJrEVHzkyQJgiCgf//+CA8PR3R0NHr16gVBEGC1WqFUKuW5v6+99hpGjx6NIUOGQKvV1joPWBAEKJVK2Gw2KJVK3HXXXbjxxhvx0FojTywAAQAASURBVEMP4auvvoLNZoNKpUJ+fj7Wr1+P9evXY9iwYTh+/DjM5r/n2CxatIgz8IiIiKhdyM7ORnJyst3aiBEjan0vRURERE3L38M5SUi1TxD0vceg4pIWwyX71qM8bgdco2Og8QuFoHGBaCiDpTAThsSDsBb/3ZZXUGvhPWY2Crd83HJxdwqG9+i7UfTbcrt1Q/IhZP/vfujCBkPXtTeUbt6QrGZYi3NQmRgLy0WVqkr3TnCNHomyw5taLO7a6PuMQ/GuVXZzeS0FGXbHuEZcBaWLR6Ov4dZ3PCwFGSg9sNFu3ZJ3Dhc2vgSlR2fouvWDxq87FC7uENRaiKZKSMZyWIqyYc5JqqrytVkbdF2xshhlhzah7NAmKFw8oPEPh8a/O5QenaHQuuHAjgrss5iQlpaGQ4cOYdu2bTAYDHbnEAQBH374YaNfO9WuQyZ/8/Lyaqzp9XonRFIlp8QI0WJC2Z8/ovLMbphzkgHUcSeGQgltlx5w6zse+r7jISiUDbpW8e61KNn7pd1ayOIfGxyztTgXWcvm2q11mvRIzR72AHLWLoYp42Sd50p7bXK916vr3PWpjN+HkthvYM6Or+MIAZrASHiNvAMu4U0/U6ExjBmnYC20n+Or7zNObvuh7z0GRb9/Doh/fyMuP7G1SZK/lfH7UH5iGwwpR+3OXxelmw+0XXvBJXIYXCOG1XtjQs7axVifcRLr7696PHr0aOzcudOh2KxWK3777Tf89NNP2LlzJ+Li4uq9Yyk8PBx33HEHFixYAF/fhieqiajlVH+PkyQJbm5umDFjhvycSqWSk7gff/wxnnnmGYSFhWHhwoWYOnUqAgMD62yNpFRW/Zy0Wq3w8vLCunXrcMcdd+CBBx6Q54uo1WpYLBbExsbKlcRarRYxMTF44403mvmVExEREbWMS6t+9Xo9BgwY4JxgiIiIOhg3rQouaiUMlpbv4Ohz7QMwnU+AtcD+M2dbWX79iVGFCp1vXuyUClqPq6bAZihF6SUzhyWrGYaE/TAk7K9zr6DWofMtz8CQdLC5w6yXys0HLmGDa4x5vJi+73VXfB3vMbOhcvdF4W+f1Uji2kovoOLkDlRc8VXqJhpKYUw9CmPqUXntznpST4IgYOnSpbjuuit//WSvQ97eefEswWq1VQO3BEmSkHRgK7I/uR/Fv38Oc04S6kz8AoBogynzFAp+eR/nV8yHMb3upGpHJhorkLfxJVz47tXLJH4BQIL5fALyNryA/B/faRXtk2ub4Xvx0Halqydcwuwr1Q3njsBWXtToa1pL8pCzdjEufPdq1Q8hBxK/AGArL0Tl2T0o2Pw2SvZ/3ejr1+frr79GYGAgJkyYgPfffx8nTpxwqFVFcnIylixZgpCQEHz00UfNFh8RNR1BEGr9+61UKpGXl4d586ra2Jw7dw4LFy7EvHnz8Mcff6CysvKy561OIAPA5MmTkZqaikceeQSurq52baOr///WW2/FO++8IyePiYiIiNqygoICnD592m5t2LBhUKvVdewgIiKipiQIQo0WuC1FodPD//aXoekS3aB9Sjcf+N/+MlzCndeO13v0LHiPvw+C2vHfO6W7L/zveBXawMhmjKxh3PrVndxUuvnAJWxQk1zHffBkBMx8Hdquva7oPIJKC9ee10Dl0bnW5xUu7kADCxMvFRISgk2bNuGRRx65ovNQ7Tpk5W9trWC//vpr3HfffS0ey7MvvIjsb19r1F5Lfjpy1z8D3xsWQd9rdBNH1nbZDKXIXfdvWC40LKFfcXIHINnge+PjzRRZ/URTJSrP7rFb0wb1hNo70G7Nre94GJJiL9poQ/nJHfAcfmuDr2ktzkXOusU1Bsy3JqdPn0Z+ft2zHOpTWVmJefPm4eTJk/L8UCJqveqq4o2NjUV0dDRSU1NhMpkAAN9//z327duHBQsW4I477kC3bt3qbF14cRWwWq3G0qVLcdddd2HdunVIS0vDH3/8gT59+mDSpEmYM2cOvLy8muX1EREREbW0S6t+tVot56oRERG1sABPHdIKL3/zenNRufsiYObrKD/2K0oPfS/P8q2N0sMPbv2vh8eQf7aKEZQeQ2+CS+QwlOz5EpWJ+yGZav89VLh6wX3ABHgMm9oq4r6YS8RVULh4QDTUHImo7zOuwR1eL0fbJRoBd74BY8YplB/7Bca0E7CVF9a7T+nmA11If+i6D6zq8qmru1uuW59xcI24CoZzR2BMPQ5T1hlYCjJx2cJGAAqFAiNHjsQdd9yBWbNm1VqoSU2jQyZ/R4wYgU8+sR+ovX37dnzwwQeYP39+i8WxZMkSvPLSizWfUCih69YPutD+ULp3AkQR1tILMJ47DFNWPOz+AtmsyP/hLUBQQN9zVIvF3hBq7y4QTVUNBWwVRRAriu2f9+te7zkULu6OXUyy4cI3L9slfjX+4dB1HwiVVwAUOjeIhjKYsuNRmbAfksm+0UHFqZ1wiRwOfQ/nzHesOPMHJIvRbk3fd3yN41wihkKhc4doLJPXyk9sa1TyN//n92pN/Kr9wqDr1hdqn6Cqb/QKJSSzAaKxHJaCTJgvpMJ8PtFuVkFLCQkJwcCBA9GrVy907doV7u7ucHFxQXl5ObKzs3Hs2DFs2bIFJSUldvuWLVuGvn374qGHHmrxmInoyk2aNAlubm7YsGEDfvzxR2RmVrUrysvLwzPPPIOdO3fKM3rd3ev+uaFSqSCKIgRBwMCBAzFw4ECYTCZIkgSVSgWVqkO+PSIiIqJ2qrS0FMePH7dbGzJkCD9sIyIiukKhoaEOdSes1jPQA7Ep9SfhLscr5nZ4xdzeqL2CUgX3wZPhPngyLAWZMJ1PhFhZAtFihEKtg9LDF5rOoVB36lpjry6kX6PGR3qNmgmvUTMbFe/F1F4B8J28CJJ1HoyZp2ArvQBbRREgKKB09YLaLxQa/zAIgn1BQGOvHzCzcQV7dRGUKgQvXNek56yPLrg3dMG9AQCWwixY8jMgGkphM5YBNhsEjQsUWleoPP2h7tQVSr1Xg86v0LlB32u0XJgoGitgKcqGtTgHtspiDAp0wdgoX7i7u8PLywtRUVHo27evU0ewdiQd8tPNSZMmwcXFpcZg6QULFmDbtm148sknMXJk8yb/9u7dixdfrJn41XbthU6TFkLtE1RzU8ztMGWdQf7P713Sn19C4a8fQtslGipPv+YLupE6TVog/39tM4e7zPmgya5VGb8PktUMAFD5BMHn+ofgEtq/xnHuAyfCNvYe5G9+G8aUP+2eK969xmnJ30tbPgsqTa2xCEo1XHtdg/I/f5LXrIVZMGachC64j8PXM2acgin9hN2ayisAnSY/Cp0DrSFsxnIYkw+j7NivDl+zsfr27Yu5c+di0qRJiIysv2WHyWTCJ598gmeeeQalpX/fUfXoo4/ipptuQlBQLX/HiKhVUyqVGDt2LKKjo9G/f39s3LgRf/zxBywWC4CqG7liY2Mxb948zJo1C+Hh4XW2ba6uDhZFEQqFAmq1us6KYSIiIqK27MCBA3ZjLpRKJYYPH+7EiIiIiDqmvkGezg5Bpu7UtdYkb2snqNRwCR3g7DDaHLVPUO05pyak0OmhDYyU220/NK0/bhnU9r7G2osO+Sln586d5ZmBl9q8eTNGjRqFrl27Ys6cOfj0009x/PhxWK2OzUB1hCRJmDt3rjx7sJpL+FD4z3jlsn8JtUE9EXDnm1B3DrFbF00VKNzKdrbViV9NYCQC7nqr1sRvNaWrJ/ymPlvj99JakAljxqlmjbM25gtpNeYTu0QMg0LnVuvxbhfNAa5WfmJ7g65pSIy1X1Co4Df9JYcSvwCg1LlB33sMAma+Bs9G3nHmiEWLFuHEiRNYuHChQ4lfoKqN2fz587F79254eHjI6yaTifN/idqQ06dPY8uWLXY3cXTp0gUPPPAAXnrpJcybNw9hYWHyc2VlZfjPf/6D2bNn4/vvv0dxcfFlz1+d8GXil4iIiNojg8GAw4cP260NGDAAbm61/zuTiIiImk+/VpT8JWpu/bry692ZOuwnnS+99BKuvvrqOp/PysrC559/jvvvvx8DBgyAu7s7hg0bhgULFmDjxo3Izc1t9LV/+uknxMfbJ/mUHp3he9O/ICjV9e5Xurij89RnIajsh5wbkg//1Ve9Y1No9eh887+hdKBVtKBSw3vMPTXWL60GbgnlJ7bWWNPXkuCtpu0SDdUld2dVnt0DsY6ZB7W5dLaDrltfqL27OLz/Ygp187UM8/Rs/A+Kfv364dVXX7VbW758+ZWGREQt4OTJk1iyZAkeeOABvPDCCzh48KDd81dffTX+/e9/4/nnn8cNN9wAFxcXAFUzgw8cOICZM2fi+eefR1xcnFwdTERERNSRHDx40O59kCAIiImJcWJEREREHVdYZze4apputitRa+WqUaK7L282dKYOm/zV6XT4+eefceONNzp0vNFoxMGDB/HBBx9g2rRpCAwMxJgxY7BixQqYTKYGXfvDDz+sseY9bi4UGseTZ2qvAHgMn3rJqoSyi9oAd1TuQ/7ZoPbXuu4DoXC1Ty6acpKaOqzLkmwWVJz83W5NofeCS9igy+5z62M/D1iyGFFx5g+Hryua7VufOzxbuY258847IQiC/DgvLw8JCQlOjIiI6mMymbB9+3b8+OOPSE9Px7vvvosvv/wS6enpdsf5+vrirrvuwksvvYRFixahV69e8rwds9mMDz74ADNnzsS6deuQn5/vjJdCRERE5BRmsxmxsfbdnnr37g1vb28nRURERNSxKRUCegV61H8gURvXu4sHlAqh/gOp2XTY5C8AeHl5YdOmTVi1ahUiIiIatFeSJOzatQtz585FVFQU1q5d69A+s9mMXbt22a0p9d5wjaq7CrkubgP+AVwywNyQerTB52lv3AZMaNDxgkIJTYD9n7+1MKspQ6pXZWIsREOp3Zq+12gIisvfCabvPbbG18Clc4Mv59Jkrzk7HpJoq+PotsvT0xN+fvY3BBw4cMBJ0RCRI1JTU7F582ZUVFRAoVAgODgYjzzyCLp162Z3XHWid+DAgXjyySfxwgsv4NZbb5U7BgiCgJMnT+Kee+7BE088gUOHDjX4pi0iIiKitujo0aMwGOxv+GXVLxERkXP1Yetn6gD6dOHXubOpnB2AswmCgLvuugszZszAr7/+inXr1uGnn36ymy1Yn/T0dNx5553Yvn07li1bBq1WW+exf/75J4xGo92aS9TwepN8tVG5+UAb3Bum9Dh5zVqQBZuhFEqXjnkHkcorECp33wbvU3sF4OI/lYa0Tm4KtSVsL63qrY3Kwxe6kH4wph6T18zZ8TBfSIPmklnGtdF2iUblRZXC1pJcFPzyAXyuf7BZ2zhfKUmScOTIERw5cgRxcXHIzMxEWVkZSktL62ztWlhYaPf40upBImodbDYblEolzpw5g99/r+qIEBgYiOXLlyMkJER+vlp1Vb8kSfDw8MCtt96KXr16oX///vj2229x9OjfN0V98cUX2L17NxYtWoRbbrkFgYGBLfviiIiIiFqIzWbDvn377NYiIyMREBDgpIiIiIgIAPoy+UsdAL/Ona/DJ3+rqVQqTJ48GZMnT4bNZsOxY8ewZ88eHDp0CEePHkV8fDxststXRK5cuRKVlZVYv359ncf8+WfNWbKagMhGx60NjLRL/gISzLnn4BI6oNHnbMtUPo2bVyto9XaPRVNFU4TjEGvpBRhT7Cu21Z1DofEPc2i/vs94u+QvUJVM9hl/b717XXuOQvGuVZCsf1fBVcRthyH5MNz6jodr9AhoAiMhCK2jSUBJSQneeustrF69GmlpaVd0ruLi4qYJioiaVHVid/Xq1fLaTTfdhGuvvdbu+UsJggBJkiAIAnr16oXu3btjwIAB+Prrr/HLL7/ILZ/PnTuH+fPnY+fOnVi4cCEGDRoEV1fXZn5VRERERC0rLi6uxk3trPolIiJyPibFqCPg17nzMflbC6VSicGDB2Pw4MHyWmVlJWJjY/H7779jw4YNOHv2bK17v/76a4wcORLz58+v9fna5g2qOwU3OlZ1p2411sTKkkafr61T6Bo3RLxG5XULtj4uj9sOSKLdmlufcQ7vd42+GoVbXSBdNL+34tTv8B4zG4Ly8n/FVW4+8Bp9N4p2fGq3LlYWozT2G5TGfgOFVg9t157QBEZDGxQNbVBPKDQuDsfXVDZt2oQHHngAubm5TXK+kpKO+/eEqDWTJAk2mw2iWPV9UaFQ4LHHHgMAiKIIhaLum1EurgJ2cXHBDTfcgJ49e6J///7YuHGjXbv3b775Bj/++CM++ugjzJkzpxlfEREREVHLkiQJe/futVsLDg5GSEj93aGIiIioeYV3doNeo0SFuf2N3iMCAL1GibDOjcvTUNNpHeV8bYCrqyvGjh2Ll156CWfOnMGvv/6K3r1713rsyy+/jMrK2tsGFxUV1VhT6PS1HOmY2pKdorG80edr6wRF27qfQZIkVJzYbr8oKKpm+TpIodbBNdr+Dm6xsgSVibEO7fcYehO8xs4B6mg9LpoqYEg+jJI9a5G3/jlkvHs7ctY8idIjm2FroRsN1q1bh6lTpzZZ4hdAne2hici5BEGAxWJBamoqgKoKFU9PT0iSdNnE76XnqJ4FHBYWhgULFmDJkiW4//770aXL3x0iTCYToqOjm/w1EBERETlTfHx8jRvPR44c6aRoiIiI6GJKhYCYiIaPLSRqK0ZG+kKpEJwdRofH5G8jTZgwAYcOHcLEiRNrPJeXl4cffvih1n1lZWU11q5ktqqgqblXvKgClFo3Y9pxWEvsE5q67gOhdPNu0Hnc+tacD1x+YqvD+z2H3YIucz+CvvcYCCrN5Q8WbTBlnkbRtv8h679zUPTbCohm4+X3XIHk5GTMmTOnRtt1tVqNKVOm4J133sH27dsRHx+PwsJCVFRUQBRFSJJk9x/vcidqvaoTtUBVhwwXFxcMGTIEAJCVlQUPDw+5qtdRF1cBq1QqjB8/Hs888wyefvppuYX0ww8/zPaHRERE1K5IkoQ9e/bYrfn5+SEysvHjpoiIiKhpXdvT39khEDUbfn23Dm2rTLKVcXFxwVdffYXw8PAad9Xu2LEDt99+e4097u7uNdZES+MTZ1ItSTdntOSlxik/sa3GmvHcEaS9NvmKz21MOQprWT5U7o7dSabu1BW+Nz4O8boKGJIPwZh+AsbM07AWZAGQat0jWUwoPfgtKpNi4T99CVSeflcc96UWL14Mk8lkt/aPf/wDK1asQGBgoMPnMRh4UwRRayWKIpRKJd544w0sXrwYy5cvx9SpU/Hdd9+hsrISWVlZjb6B4+JZwF27dsX//d//oVevXhgxYgSef/75Jn4lRERERM6VmpqKrKwsu7WYmJgG30hHREREzWdcDz8IAiDV/pErUZslCMDY6KbPEVDDMfl7hTw8PDB79my89dZbduvx8fG1Hu/tXbOiUzRWNPr6oqnm3sbOvW0ISbQ2+zXaO5uxHIaE/c13AUlERdwOeI6Y3qBtCp0e+t5joO89BkBVnKbMMzBlnoIh+TAsF1Jr7LEWZiFvwwsIvOc9CEp1EwRfpaKiAps3b7ZbGzRoEH744Qeo1Q27Tm0t14nI+aoTv9nZ2XIydu7cuejWrRtKSkogSRIOHTp0RdX7F1cBC4KA0aNHY8SIEfwQlIiIiNqdS2f9enl5oU+fPk6KhoiIiGrj66bFwGAv/Jle7OxQiJrUoG7e8HXTOjsMAts+N4mrrrqqxtqllcDVOnfuXGPNUpDR6Gtb8tNrrClcPes8XlDWzPdLtoYnckVDzfbV1DAVp36HZDU36zXKT2yza6faGEqdG1wjhsJ7zGx0mfshutz/P7gNnAQI9t8+LPnpKD9es5L5Svzxxx81qn7//e9/Nzjxm5GRwRm/RK1U9Rzfp59+GiaTCVqtFgqFAunp6RBFEaIo4qmnnsKxY8eu+FoXzwJu6PcRIiIiotYuOzsbycnJdmsjRoyQ328RERFR68HWuNQe8eu69eC/AJqAp2fNZKtKVXtR9aBBg2qsmXMSG31t0/lL9wrQ+IfXebygca2xJporG3xdS9H5Bu8he7UlStV+3a/oP6XevrLcWpwDU3pck8at9glCpwkPwXfyozWeq4zfW8uOxsvIqHljxKhRoxp8nv37m7HCmoiaxM0334wJEyZAo9FAFEUAVclatVqNtLQ0fPrpp8jNrZqRfukM8IZgtS8RERG1Vzk5OXafRej1egwYMMB5AREREVGdrmOSjNqh63qy5XNrwbbPTaD6w+iL+fvX/s170KBB0Ol0MBr/ntVrSDgA6boHISiUDbquraIIpsxTdmuqTkFQutScK1xNodPXWLMW50Dp4tGga5syGplQrOU1SqKtwa+9rTPlJMGSd85uTdMlGoF3v31F5zUkH0behhfs1spPbIUupN8Vnbc2+t5jUBL7rd3rMNfSEvpK1FZB7+Pj0+DzrF+/vinCIaJmdNNNN2HMmDH44IMPsGrVKqSmpsJqtcqJ4P/+97+oqKjAe++9B09PT0iSJLeMJiIiIqKqzxuio6MRGxuLQ4cOYdiwYex2QkRE1EpF+Lmhm48r0gsbXphF1BqF+LgivHPzjyQlx7Dytwn89ttvNdbCw2uvvlWr1Rg7dqzdmq2iCJUJBxp83bJjvwKiffWTS+jAy+5R+wTVWDNnJzTouqKxAhVndjdoTzWFxqXGmmQ21nJk+1Z+ombVb/WM3Suh6z4QClcvu7XK+P1XNFf6ctSduto9rm0G9ZXQ62verFBXS/W6JCcnY9OmTU0VEhE1E1EU4enpiWeeeQYrVqzADTfcAC8vLwiCILcqXLVqFQYMGIBt27ZBEAQolUpYrZxBT0RERFRNr9dj3LhxeOSRR3D11Vc7OxwiIiKqgyAIbJFL7cq1Pf3Zca8V6ZDJ382bNyMlJaVJzpWcnIyvv/66xvoNN9xQ556HH364xlrR7ysgWhxPglpL8lB6YOMlqwLcB0++7D6NX3dAYV/wXXF6l8PXBYDivesgmQ0N2lNNoat554e1OKdR52qrJKsZlad22i8qVND3vOaKzy0olND3sj+PZDU1+M/YUbbyQrvHysvMm26MwMDAGmtbt251eL8oipgzZ84VtYglopahUCjkKt+RI0fiq6++wnPPPYeePXvK1b0qlQppaWmYMGEC7r33XhgMBrm1If+eExEREf1Nq9XWOY6KiIiIWofrezH5S+3Hdfx6blU6ZPL3p59+QlRUFO655x6cPXu20efJzs7GlClTUFlp35qhc+fOuO666+rcN2nSJPTo0cNuzVaSi/wf3oIk1v/htc1YjrxvlkCymOzWXSKuqrWy92KCSgNdt752a6asM6g469is1vKTv6Hs0A8OHVsbTefQGmuGc4cbfb62qCJ+b40KWZfuA5sscarvPbbGWvmJ2hOmhTs+gzk/vVHXMeUkwZR52m5N49e9UeeqS23zfV9++WWUlpbWu1cURTzwwAP4448/mjQmImo+1RW+oihCq9XikUcewZo1azBt2jT4+vrCZrPJieAVK1YgJCQEGzdW3QilVCqZACYiIiIiIiKiNuOqUB+E+dbsfEjU1oR11mNY94aPa6Tm0yGTvwBgtVqxcuVK9OzZE8OHD8eHH36I8+fPO7S3srISy5Ytw8CBAxEXV3P27ZtvvgmdTlfnfkEQsHz58hpzCg2JB5D71bOwFGXXudeUHY/cNU/CkmdfuazQ6uFz3QMOxe/W//oaawU/LUVlwv4694jGchT9tgIFP74DQIKg0jh0rUupO4dA0LrarZXs34DyE9shXpLMbq/Kj9fS8rlPzYRtY2kDI6G6pB2zOScJ5rya1e7lJ7bh/GcPIferZ1B27FfYKoodukZl0kHkff0CIIl267Ulnq9EYGAgRo4cabeWlJSECRMmIC0trc598fHx+Mc//oHPPvsMQFW1oKura53HE1HrcnEV8IABA7BmzRr85z//wcCBA+UKFpVKhfz8fNx222249dZbceHCBfnnKpPARERERERERNTaKRQCZg4LcXYYRFfszmEhbPncyrAHEIDY2FjExsZi/vz5CA0NxbBhw9CrVy/4+vqiU6dOEAQBpaWlSEtLw/Hjx/Hbb7+hoqL22aa33XYbZs2aVe81R4wYgeeffx7PPfec3bop/QSyP30IutD+0IX0g8qtEyRJhK00H4Zzh2HKPANAuuRsAnz+MQ8qTz+HXq9r9AhoAiJgzkmS1ySLCRe+fQXaoB5wCb+q6lyCAFtFMUzZZ2E49yckuVpVgPe4e1G49WOHrmcXqVIFfe+xKP/zp4uubUTBz++i4Jf3ofToXDUX+JJvFF6j7oRr5LAGX6+1sRTnwJRuf8OAoHWFS0TTvja33mNR/Mdqu7Xy41vrvEHAmHoMxtRjKNzyMdS+3aDxD4PatxsULu5QaPWAJEI0lMNSkAFD6lFYCzJrnEPbtTdce9as1L1SL774IsaPH2+3duDAAURFReGmm27CyJEjERAQAKPRiKysLGzbtg27d++2mwP63HPPYfny5ZdNGBNR61JdBVxd7Tt37lxcc801ePvtt/HDDz8gLy8PCoUCkiTh22+/xc8//4z3338f9957r1wFrFAo+MaTiIiIiIiIiFqtWwd3xZtbz8JoEes/mKgV0qkVmDqoa/0HUoti8vcSqampSE1NbdTeWbNmYfny5Q4f/+yzz8JoseLVJS/ZPyFaYTx3BMZzR+o/iUKFTjcshL4BSTdBoUSnGxYhZ/XjNWb3mrLOwpR1+VbYPtc9AJewwQ5f71JeI26HIX4fbBVF9k9IImwluaitXks0lDX6eq1J+YltuDR57xo1Agq1tkmvo+81BsV/rLG7VsWpnfAeOweCSl33RkmE5UIqLBdSG3Q9decQ+N70JASh6ZsJjBs3DosXL8Zrr71mt242m7FhwwZs2LDhsvvvvPNOPPPMMw36u0lEza86qStJEgRBgCiKcsL3YtXHAEBkZCSWLVuGsWPH4oMPPsDRo0flub9GoxH3338/vvzyS3z66acICwsDAPn8REREREREREStjaeLGjf1D8L6wxnODoWoUW4eEARPl8vkHMgpOmTb57vuugszZ86El5dXk5wvLCwMmzZtwsqVK2u0cq7Pyy++gC5T/gWlW8P7oat9u8H/9iVwa0SrXU3nEPjf8R8oXL0c3iNoXOD7zyfgPnhyg693MaWbN/xnvApNQMQVnaetkUQbKuK211hv6lbJAKDy8oe2a0+7NdFYhspE+9beSr33FV5JgL7PeATMfAMq905XeK66vfrqq3jmmWcalMBRKpV46qmn8MUXXzDxQ9RKVLdyBiD/vDSZqlr+X5z4vfg4oGpcgiAIcjvn6dOnY/369XjwwQcRHBwMSZKgUCigVCrx+++/Izo6Gi+++KK8l4iIiIiIiIiotbprOFs/U9t1J1uXt0odsvI3JiYGMTExsFgs2L17N3bt2oU9e/bg4MGDKC8vd+gc/v7+uPbaa3HHHXfg+uuvl2cQNpQgCIi4egKUYVeh7M8fUXn6D5hzz6Fma+e/KJTQdomGvu+1cOs7HoKiYcnmi2kDIhB0/zKU7P8a5ce3QTTWXl0rqHXQ9xoNz5jbofLo3OjrXUztG4yAWe/AlHEKlQn7Yc5LgbUoG6K5EpLZWGOWbHtgTPkTtrICuzWluy90IX2b5Xr6PuNgyjxtt1Z+fBv0Pa+RHwfdvwymnCQYkg/DlHEKpvPxkEyV9Z5b4eoF1x4xcO8/ARr/sCaP/VKCIGDJkiWYOHEiXn75ZWzZsqVGcqiaq6srbr75Zjz55JPo379/s8dGRPWrrupVKBTIz8/H119/jSNHjiAtLQ2dOnWCm5sbbr31VoSGhiIqKkpODF9aDVxdBSxJEoKCgvD2229j3LhxePfddxEbG4vy8nJoNBqYzWa8+OKLmDZtGnr16uWsl01EREREREREVK8+QZ4YEOyFYxnFzg6FqEEGBnuhT5Cns8OgWghSdS9FgiRJyMrKQmJiItLT01FaWoqysjIIggAPDw+4u7sjMDAQ/fr1g7+/f5Ndd/on+xGbUig/tlUUwXQ+EWJFMWyGUkBQQOnqCaXeC9ouPaDQ6Zvs2tUkSYT5fCIsBZmwVZYANisUOjeofYOh7dLj8q2Cqd2QJBHWkjxYi87DWpoHyVQJ0WKCoFJDoXGF0s0Hms6hUHk1/ut/eJgPvrrv6iuKs7i4GHv27EF6ejqKioqgUqng6+uL6OhoDB06FFpt07bRJqKmsXTpUnz55Zc4cqT2sQajRo3CVVddhRkzZmDQoEEAaiaAq128XlRUhPfeew9r1qxBdnY2jEYjHn/8cbzxxhvN92KIiIiIiIiIiJrIN39m4rENx50dBlGDLJ3WH7dw3m+rxORvK/DC5lNYuS/V2WEQtYh7RoTi+Rt7OzsMImpBBoMBb731Fp5//nm5hfPFbZwvptfrERERgWnTpmHevHnw8PAA4FgSePfu3XjhhRdw4cIFnDhxonlfFBERERERERFREzFabBj+nx0oNlicHQqRQ7xd1di/eDx06sZ3p6Xm0yHbPrc2fVkWTx0Iv96JOgZJkiAIAoqKirBy5Uq88MIL8rokSejTpw+6du0Kb29vxMbG4ty5cwCAiooKHD9+HOfOncPu3buxaNEiXH/99VAoFBBFUU4cV6teVygUGDVqFDZv3owLFy444yUTERERERERETWKTq3E3VeH4v3fEp0dCpFD7r46lInfVqxmCQ21uH5MhlEH0q8rv96JOoLqBO1PP/2Ejz/+GNWNRkJCQvDWW2/ht99+w88//4z//ve/SEpKwpw5cyAIglzFW1ZWhu3bt+OBBx7A4sWLkZubC4VCAUEQasz8rt5js9ng6uqKkJCQFnylRERERERERERX7r5R3eGj1zg7DKJ6+eg1uHdkd2eHQZfB5G8rENbZDa4a3iFB7Z+rRonuvm7ODoOIWsiRI0ewdu1aJCcnAwB0Oh3WrFmDRx99FL6+vrBarXJb50OHDkGSJLvEriAISEtLw4cffojbbrsN3377LYCqZG91BfHFlEr+LCUiIqL2gRO6iIiIOh53nRoPj4lwdhhE9Zo3NgLuOrWzw6DLYPK3FVAqBPQK9HB2GETNrncXDygVQv0HElGbZzAY8Ntvv+H3338HAHh5eeH1119HTEyMnOCtrg5+/vnnERcXBwBQqVS4++67oVKpYLVaoVAoYDAYsHfvXixYsADz5s1DSkrKZecGExEREbV1F4+5AJgMJiIi6ihmDuuGIC8XZ4dBVKcgLxfMHNbN2WFQPZj8bSX6sPUzdQB9uvDrnKijKCoqwrfffguz2QylUonx48dj/vz58vNWqxVKpRKnT5/GkiVL5PW5c+di5cqVSEhIwNixYyGKolwRnJ2djRUrVmD69On44osvAFRV+9ZWBUxERETUFplMJhw+fBgnTpzAH3/8gdOnTwOomQwmIiKi9kmnVmLRtVH/z959h1dRbf8ff88p6ZCEkiBIKBJa6IQWujSlitgooiBfxQKiYrkW7O2qWLFQRFAUK0VRQBTw0ot0BKRLQgsEQiDllPn9kd8ZOYKKmOSkfF7Pc584+8zMWfu5Goa9Zq0d6DBE/tS9XWoS7FD3vcJOyd9Cor6Sv1IC6N9zkeLPV4m7cOFCVq5cCUBERAQPPPCA9blhGDgcDgCGDRtmXVunTh1uueUWPB4PVatWZerUqQwePBi73Y7TmdtKJisri7Vr1/LAAw9wyy23sHHjRqsKWERERKQoOfvltV27dvH4449TpUoVOnToQKNGjRg4cCDt27enVatWvPvuu+zevZvMzMwARiwiIiIFoW/jStSM1dZ5UvjUii3FVY0qBToMuQBK/hYSSopJSaB/z0WKP7vdjtfr5e2337bGbrjhBpo1a4ZpmtbnAOPGjWPFihXWeaNGjaJBgwZWNW+lSpUYNmwY5cqVw+VyYbPZrCRvamoq06dP58orr2TLli0FO0kRERGRPOB7rvnoo4+47rrrePrppzly5Ij1Ml1ycjLHjh1j5cqV3HHHHXTo0IHHHnuMZcuWkZ6eHsjQRUREJB/ZbQb3d60d6DBEznF/t1ra1rGIUPK3kLisfAThQSqVl+IrPMhO9fJ6Y02kJFi9ejUnTpwAoHTp0tx9990AVvtmu93OoUOHeOqpp6xr+vXrR7du3QgKCgJ+Xwxt06YNL730EiEhIdhsNhwOh5VEzszMpFatWiQkJBTsBEVERETyyKJFi7jllltYv3699fzjdrsBCAoKssYcDgcHDhxg7Nix9OrVi/vvv58ff/yR48ePa/sLERGRYqhznRiaVokOdBgilsQq0XSqHRPoMOQCKflbSNhtBq1rlAt0GCL5pk18Ob0VJFJCnD59mh07dgDQvn17oqKiALDZbNhsuY8eY8eO5ejRowDExsYycOBAKleu7Hcf30Jmq1atiI6OxuPxcPfdd/PAAw9Yi6ITJ04siCmJiIiI5LmNGzfy0EMP4XK5ME0T0zRJSkriv//9LytXruT1119n5MiRBAcH43a7cTgc2Gw20tLSmDBhAr169WLEiBHMmTOHI0eOWN1VREREpOgzDIOHr6yDdrmSwsAw4D9X1tG2a0WII9AByO8614ll/tbDgQ5DJF90rhMb6BBEpID8+uuvVrvCqKgoKlSo4Pf5tm3bWLp0qXXcqVMnmjZtes4DpGEYeL1eLrvsMtq0acPnn3/Ojz/+yJo1a7jiiivYuXMn1atXz/8JiYiIiOQR0zQxDINjx47x8ccfs2rVKuuzxx9/nDvvvJNy5XJfDG/WrBnTpk0jOzsbAK/Xi8PhICcnB4DMzEw++eQTPvvsM3r06MHAgQNp3bo1sbGx2O3qLCYiIlLUNa0SzZCkary/dE+gQ5ESbmhSNVWiFzGq/C1ELq8dozd5pFgyDOhYSy0hREqK2267jc8//5w6depwxRVXAODxeKxK3tTUVHbu3AlAcHAwiYmJ51T9+vgqhX2LnL/++is7d+6kQ4cODBs2LL+nIiIiIpKnfC+7LVmyhNmzZ1vjN9xwA48//jhly5YFsF6kGzt2rHVOhw4duPvuu2nVqhUhISEYhkFwcDAej4fZs2dz/fXXM3jwYD788EP27duHy+UqwJmJiIhIfri/ay2qlg0LdBhSglUrG87orrUCHYb8Q0r+FiLlIoJpXDkq0GGI5LkmcdGUiwgOdBgiUgB87Qb79evHsmXLaN++PQB2u91a7Fy6dKnV8tnj8XD99dcDnHe/Ol9759DQUADOnDmDw6HGJSIiIlJ0paens2TJErZt2wZAXFwcTzzxBJD7POR2u7Hb7fz444+sW7cOyH0h7t577+Wpp57ixRdf5Oqrr8Y0TbKzs3E4HDidTgB+/PFHhg4dysCBA3nttdc4c+ZMQOYoIiIieSM0yM5L1zRU0ZgEhGHAS9c0IDRIXWWKGiV/Cxm1xpXiSP9ei5Qcvkpdr9dLZGQkFStWPOecgwcPAuBwOKhWrRohISG4XK5z2j77WhumpaUxd+5cILeN9OHD2iJBREREiq7ffvvN2gIjKCiIq6++mpo1a2KaJjabzWrZ/PTTT1vXXHHFFTRs2JDg4GDatGnD1KlTeemllyhVqhRer9d6YQ7A6XSybNky3n33XcLCVCkkIiJS1DWrWoYhSdUCHYaUQEOTqpFYtUygw5CLoORvIdNFSTIphrrUUctnkZLGlwQ+H98ipGmapKamcvz4cata5Xz3ePnllzlx4gQApUuXpkWLFnkfsIiIiEg+83U5OXz4MCtXrgRyn20GDx5sfe7xeDAMg7Vr17J48WLr2v79+1OhQgUgt3OKzWbjvvvu48Ybb8Tr9WIYBvHx8dSqVctq9/zMM88U5PREREQkH6n9sxQ0tXsu2pT8LWRqxEQQV0a/xKX4qFImjMvKRwQ6DBEpRGrXrg3kLnCmpaXxzDPPWNXAkFvx69vnbvHixXzyySfWZ0OHDi3YYEVERETyiG97jLlz51qJ4EaNGtGoUSMg98U3XyeUl19+2bouKSmJli1bWhXBvp8AL7zwAvXq1bO6rjz44IP069ePNm3a0L9//4KYloiIiBQAtX+WgqR2z0Wfkr+FjGEYapErxUrnOrHntHIVkZKtQ4cOVKlSBbvdjs1mY/bs2UyaNIldu3aRmZmJzWbD5XKxZcsWhgwZwt69ewFo2LAhV1xxRWCDFxEREblIdrsdj8fD8uXLrTFf1a/H48Hr9WKz2di7dy/ffvut9feonj17nncrDY/HQ0REBN27d8cwDPbv309iYiLvvfcekydPLphJiYiISIFR+2cpKGr3XPQp+VsIda2r5K8UH13077NIieCrZPH9/DOmaVKxYkWuvPJKXC4XXq+XtLQ0xowZwy233MLo0aN54oknuOaaa+jevbuV+A0NDeWqq66yKmNEREREiqLffvvN2tqifPnyxMfHA7mJYV+yd9asWWRnZ2OaJlWrVqVhw4aEhoaecy9fBXCzZs0wTZMjR44wZcoUypQpw2WXXVZAMxIREZGCdH/XWiRULB3oMKQYS6hYWu2eiwFHoAOQczWvWobq5cLZnXo60KGI/CvVy4fTopreEBIpTkzTPKeaPzMz06ridTj++tHCMAwcDgdvv/02DoeD9957z9qX7qeffuKnn36yznU4HBiGgWma9OvXj9tvv92vzaGIiIhIUVO2bFk2bdpk/XNQUBDw+zNWdnY2O3futLbAuOSSS6wE8fmewwAqVapEmTJlOH78OBkZGX95roiIiBRtoUF2xt+YSJ9xS0jNyAl0OFLMlIsIYsKNiWr3XAyo8rcQstkMBraoEugwRP61QS2qaMFBpJjx/Te9aNEiRo8eTfv27alevTo9e/akd+/eTJ48mQMHDlgLj4C1p52Przr47rvv5v7776d69erWZ8HBwQCEhITgdrsxTZNu3brxzDPPEBMTk9/TExEREclXbrebfv36cckll7B7926qVctt3WgYBl6vl+DgYI4ePWolf8PDw6lRo4Z1ztl85xw5coTjx49jGAY7duw477kiIiJSfFSKCuXdgU1x2vXnveQdp93g3YFNqRh1bscZKXpU+VtIXdP0Ul6av40s11+3zxQprEKcNvo1uTTQYYhIHjt9+jQfffQRd999Nzk5v79hevjwYQDmzp1Lw4YN6devH126dKFZs2ZWa0NfBYrv+LLLLmPUqFE0aNCA+fPn8/nnn3Pq1CkAsrOzqVKlCoMHD+aee+4hKiqqYCcqIiIikg+io6N5/vnnueGGG9i/fz+lS//ettH3jLR27VprrHbt2kBuovePHVB8x5999hmQ+6xVp06dfI1fRERECofEqmV4pk89HvxqU6BDkWLi2avqa5/fYsQw/1iOI4XGg19u5NM1vwU6DJGLckOzyrxwdYNAhyEiecCXtD116hQTJkzg8ccf5/Tp04SEhJCVlWW1ZnY6nVa1rs1mo3379lx11VX07t2bKlWq+N3rjzIyMjh16hQ//vgjZcqUISIigvj4eCpUqFDQ0xUREREpEBkZGYSFhfm9KJeZmcl1113Ht99+C0D9+vX54YcfKFeunF8C2O1243A42Lx5M3369GHPnj0ATJ06lUGDBgVmQiIiIlLgnvh6Cx8s2xvoMKSIG5JUlcd7JQQ6DMlDqvwtxG5sWUXJXymyBql1uUix4UvW/vDDD3zwwQecPp27J73H4yE0NJQGDRpYLQbT0tKA3NbOCxcuZMuWLaxbt47rrruOjh07Wm2dfUlg38+IiAgiIiIYOHBgAGYoIiIiUvAiIiL8jg3DICwszBp3Op3s3buXefPmMXDgQCvx6/V6cThyl3Oef/55K/HboEEDGjduXIAzEBERkUB7tHsddh7JYMnO1ECHIkVUmxrleKS7uscUN9rztxCrVymSRpWjAh2GyD/WuHIU9SpFBjoMEclDqampfPvtt2zevNkae+aZZ1i2bBmLFi1i27ZtvPXWW9x7771UrFjROufIkSN88MEHjBkzhtdff91vH7o/VgGrGYmIiIgI3HbbbTidTlwuF6dOneLGG29k+PDh/Pzzz0Bue+hffvmFe++9l08++cR6nmrbti21atUKZOgiIiJSwBx2G2/1b0yVMmGBDkWKoKplw3irf2McdqUKixu1fS7kvvz5APd9viHQYYj8I2OvbcjV2u9XpFjwJWh3795Nq1atOHr0KOHh4YwYMYLnnnvunPPT0tLYuHEjEyZM4OOPP/b7LDo6mq5du3LdddfRtWtXwsPD/b5DREREpKTzeDxkZWUxaNAgZs2ahc1mwzRNHA4HZcqUIS4ujrJly/Lzzz+TmpqK1+sFcttDT5gwgebNmwd4BiIiIhIIO4+c4pp3l3Mi0xXoUKSIiA5z8vltragRUyrQoUg+UPK3kMtyeWj5/A/6pS1FRnSYk+UPdSLEaQ90KCKSh8aOHcvo0aMBSExMZMGCBZQuXdrae+6PCdwjR44we/Zsxo4dy7Zt2/zuVb9+ffr27Uu/fv2oX79+gc5DREREpCjYsWMH9957L99++y2GYVhJYF+yF7DGTNNk0qRJDB482GoNLSIiIiXP5uST9J+4glNZ7kCHIoVcqRAHnwxrqe6dxZhquQu5EKedwa2qBjoMkQs2uFVVJX5FihHfO2Iul8tK7o4cOdIv8QucU7kbExPDTTfdxMcff8xtt92GzWazztu0aROvvPIKY8aM4eOPP7b2CT77+0RERERKspo1a/LSSy/Rv39/TNPE4/Gck/j1er1ceumljB49miFDhijxKyIiUsLVqxTJlCHNCQ/SM4H8ufAgO1OGNFfit5hT5W8RcCrLRfuXF3H8dE6gQxH5S2XCg1g8ugOlQpyBDkVE8tjjjz/O008/TZUqVfjhhx+oXr36BV97/Phx5s+fzyuvvMLatWv9PouPj+eqq67immuuoVmzZnkdtoiIiEiRt2HDBl599VWWLl2K3W4nJSWF8uXL07BhQx5++GHq169PcHBwoMMUERGRQmLlnmPcNHkVWS7v358sJUqI08aUIc1pUa1soEORfKbkbxExackenp6zNdBhiPylMT3rMrR1tUCHISJ5yNfO+aOPPmLw4MGULl2a9evXU7Vq1X90H7fbza+//sr777/P22+/TWZmJoZhYJomERER1K9fn3vuuYdrrrkmfyYiIiIiUsR4PB5sNpvVYeXIkSNW4tc0TS699FKAc7bfEBEREVm55xhDP1jN6RxPoEORQiI8yM7km5vTvFqZQIciBUBtn4uIgS3iqBQVGugwRP5UpahQBraIC3QYIpLHfAuJCQkJhIaG4nK5SE5OBv5Zi2aHw0GdOnV47LHHmD59Ou3bt7euz8jIYPny5cTF6XeIiIiIiI/dbscwDKvlc0xMDI0aNaJSpUpK/IqIiMhfalGtLB/e0oJSIY5AhyKFQKkQBx/e0kKJ3xJEyd8iIsRp557ONQMdhsifurdLTYId2k9CpLhq3LgxgwYNIjMzkyVLlgDn7vN7IUqXLk2PHj2YOHEijz/+ODExMQAMHz6c5s2b52nMIiIiIsWB3W7HZjv/8o0SvyIiIvJnmsRF88mwlkSFaou+kiw6zMknw1rSJC460KFIAVLb5yLE4zW58o2f2HE4I9ChiPipFVuKb0e2xW7TwoNIUef1erHZbGRnZ7N9+3Y2bdrEgQMHAFizZg1fffUV1apVY9asWSQkJODxeLDbL+7Fj9OnT/O///2Pjz/+mPfffx+HQ2+jioiIiIiIiIjkpZ1HTnHLlDXsO34m0KFIAataNoyJgxOpEVMq0KFIAVPyt4j5futh/u/DNYEOQ8TPxMGJdK4TG+gwRORfOLtl4M6dO7nzzjv56aefyM7OBiAoKIicnBxrn95BgwYxefJkK/HrSxpfzPdmZ2cTEhKSd5MRERERERERERHLiTM53PXJOpbsTA10KFJA2tQox1v9GxMVFhToUCQA1Pa5iOlcJ4amVVSeL4VHYpVoOtWOCXQYIvIv+RK/P/74IwMHDuT777/H6/USHBxsJXwNw8DpzG0V9NFHH9GlSxdWr14NgM1mw+v1XtT3KvErIiIiIiIiIpJ/osKC+ODmZgxJqhroUKQADG1djQ9ubqbEbwmm5G8RYxgGD19ZB23rI4WBYcB/rqyjfaZEiol169bx+uuvs3r1agzDwOPxkJ2djWmauFwuTNMkJyeH4OBgnE4nixcvZvDgwbz66qtkZ2dblb8XkwQWEREREREREZH847DbeLxXAi9eXR+nXeu5xZHTbvDffg0Y07MuDrvSfyWZ2j4XUU99s5X3l+4JdBhSwt3SuhqP9awb6DBEJA9kZWXxzjvv8Mgjj5CVlQVA27ZtadeuHZ06dWL9+vWkpKTw8ccfk5KSAoDD4cDj8RAZGUm7du247777aNu2LXDxbaBFRERERERERCR/rdl7nOHT1pKakRPoUCSPlIsI4t2BTUmsWibQoUghoORvEZWZ4+HKN35i7zFt0i6BUa1sON+ObEtokD3QoYhIHjhy5Aj9+vVj6dKl2O12mjVrxrx58yhVqpR1jsvl4vjx47zwwgu8/vrrwO8JYLvdTtWqVRk0aBAjR44kKioKUBJYREREShbTNPF6vdjt+nuSiIiIFG7JJzK59cM1bElJD3Qo8i8lVCzN+BsTqRQVGuhQpJBQ8rcIW733ONeNX47+H5SCZhjw+a2t9BaRSDHg28t37ty5dO/eHYC4uDimT59Oy5Yt8Xg8GIZxTgL3559/5pZbbmHDhg1AbhLY7XYTERFBq1atGDVqFFdeeSWQmwA2DEMt4kVERKRYy8rKIiQkBMh9xgL0/CMiIiKFWmaOh5fnb+f9ZXuUZyiCDAOGJlVjdNdaKtISPyrFKcKaVS3DkKRqgQ5DSqChSdWU+BUpJnwLkkuXLsXhcADQp08fWrZsCYDdbvdL/PqqWZo0acK6det47rnnAHC73djtds6cOcOPP/7I7bffzgMPPMDBgwex2WwYhqG9gEVERKTY8Xg8AGzdupXhw4dz5ZVXsmrVKr34JiIiIkVCaJCdx3rW5bNbW1G1bFigw5F/oFrZcD67tRWP9ayrxK+cQ8nfIu7+rrX0S1kKVLWy4YzuWivQYYhIHnM6nbjdbkJDQ7n99tsBzpus9VUBu91uAB566CG2b99O+/bt8Xg8VpXv/v37efvtt7nuuuv4/PPPAdT+WURERIodX3vnhx9+mM8++4x58+bRsmVL/vOf/+jFNxERESkymlUtw3cj2zG0dTX0/lrhZhhwS+tqfDuyLc1UoCV/QquwRVxokJ2XrmmoX8hSIAwDXrqmgd4kEikGfMlbn+joaAAiIyPJzs4G/jpZ63A4ME0Tj8dDfHw8Cxcu5O233yY4OBi3243NZiMrK4vly5dz3333ceutt7Jz5878m5CIiIhIAHi9XiZNmsTs2bPJzs4mODiYyy+/nIEDB+rFNxERESlSQoPsjFEVcKGmal+5UPqbSDGg9s9SUNTuWaR4ME3TavF86623sn//fnr27AnA6dOniY2NvaD7GIaB3W63EsnDhw9n79699O7dG6/Xi9frxWazcfjwYSZOnMgPP/yQPxMSERERCZAVK1bw8ssvA7nPWJ06deL555+nXr161r6/f+RrFe3zZ+eJiIiIBIKqgAsfVfvKP6XkbzFxf9daJFQsHegwpBhLqFha7Z5FiglfC8JnnnmGiRMnUqNGDaZMmUKTJk04deoU8+bN8zvv75xdBRwbG8vMmTOZPn060dHRuN1uXC4XCQkJ3Hbbbfk2JxEREZGC4kvWpqSk8NFHH7F9+3Yg95nov//9L82aNQP40z1/fa2if/nlFw4dOqS9gUVERKTQ8VUBf3FbEk2rRAc6nBKtaZVovrgtSdW+8o8Ypl4xLTaST2TSZ9wSUjNyAh2KFDPlIoKYfWcbKkaFBjoUEckjO3bsoHbt2n5jdrsdj8dD165d+fTTT4mMjPzH9/V4PNaC5unTp7nzzjuZOnUqixcvpm3btnkSu4iIiEhh8Nlnn/HQQw+xd+9e7HY7999/P88995zV/eRsvrGDBw/y5ZdfMnnyZE6cOMFvv/1G+/btueGGG7j66qutrThERERECgvTNFnwyxFemr+NHYczAh1OiVEzNoIHutWmU+0YvSwo/5iSv8XMmr3H6T9xBS6P/m+VvOG0G3wyrKXaPYsUMxMnTmT06NG4XC4yMzOB3/f4dTgcPP3004wcOZLg4ODzLmD+HbfbbbWW3r59O7VqqXOAiIiIFB9Hjx7l0UcfZcKECRiGQd26dZk3bx4VK1b802enQ4cO0a9fP1auXGl1WDEMw6okTkpK4pVXXqFFixaYpqlFPhERESlUPF6TmeuTGfv9DpJPZAY6nGKrUlQo93apyVWNKmG36XlQLo7aPhcziVXL8EyfeoEOQ4qRZ6+qr8SvSDE0bNgwZs6cyeWXX07p0rnbBni9XkzTJCcnh1dffZUvv/wSyE0K+/b1vVAOh8Paz06JXxERESlufv31V5YvXw7kPvf07duXihUrYpqmX+LXl+T96aefuPXWW1m+fDl2u906x5fgNQyDZcuWMXToUPbu3avEr4iIiBQ6dptBvyaX8uN97RnTsy5lwoMCHVKxUiY8iDE96/Ljfe3p1+RSJX7lX1HlbzH1xNdb+GDZ3kCHIUXckKSqPN4rIdBhiEgeO7sa5fTp07z11lt88MEH7N69G5fLhc1msxYqb7vtNt58802rivfsts4iIiIiJdW0adO48cYbAQgNDWXdunXUrFnzvFW/6enpdO3albVr11ovx5UtW5bY2FjOnDnDqVOnOH78OEFBQWRnZ3PLLbcwYcKEAp+TiIiIyD9xKsvFxCV7mLp8L2lnXIEOp8iKDnMyuFVV/q9tdSKCHYEOR4oJVf4WU492r0ObGuUCHYYUYW1qlOOR7nUCHYaI5APfgqTX6yU8PJwHH3yQqVOn0rdvX8qUKYNpmlaC97333qNKlSp88803QO6+wP+0ClhERESkuPAlbxcuXGiNJSYmUrNmzXOqfiH3RbuHHnqIVatWWdfWq1eP2bNns3nzZubOncvdd9+NzWYjOzsbgCVLlnDmzBnrfBEREZHCqFSIk3s612T5Q53479X1iLGfCXRIRUrjylGMvbYhyx/qxD2dayrxK3lKyd9iymG38Vb/xlQpExboUKQIqlo2jLf6N8Zh168IkeLs7ArfZs2aMW3aNJ566ikaNGiA3W7HMAwcDgcHDx6kd+/eDBgwgBMnTvhVAYuIiIiUJHa7nZycHLZu3WqNNWjQgLObqvmer06fPs2ECROYNGmS9dlVV13FxIkTadWqFR6Ph5o1a/Loo4/y4osvArnPZ9u3b2fHjh3qtiIiIiJFQojTTk1nGj2cW+kVtJWa9qPY0ZrR+YQ4bdzQrDLf3NWGGXe05uomlxLi1DOf5D1ldoqxqLAgJt2USFSoM9ChSBESHeZk4uBEosK0Z4NISeCrTvG1c77jjjuYNm0aAwYMoHz58ta4YRhMnz6duLg4PvzwQyB38dPj8aAdJERERKSk8Hq9OJ1OKlasaI2tWbMGwzAwDMPv5bipU6fy1ltv4XLltkGsXr06Tz/9NM2bNwf8O6pcdtll2Gw2TNMkKiqKtLS0ApyViIiIyL+zdu1aAMrZztDauY+Hap9iTM+6VC8XHuDICofq5cIZ07MuK//TmReubkC9SpGBDkmKOSV/i7kaMaX46JYWlApRywD5e6VCHHw4tAU1YkoFOhQRKWB2ux3TNDFNk7p16/L+++/z0ksv0axZM5xOJ6Zp4nA4yMjI4KabbqJ79+4cOHDASgyrFbSIiIiUBDabDcMwrIRucHAw27dvP2eLjEWLFnHfffexe/duAKKjo3nppZdISEjwu5+vo0qNGjWIiIgA4NSpU+qwIiIiIkXGoUOHOHDggN9Y2xZNGdq6Gj/c257p/9eSW1pXK3FdSquUCeOW1tWY/n8t+eHe9gxtXY1IFepJATFMleuUCD/vT+PGSSs5naO/QMr5hQfZ+fCWFjSJiw50KCISYL5qX4B9+/bxyiuvMGPGDA4ePGid4/V6sdlsvPLKK9x9993WdYZhnLPXnYiIiEhxM2vWLPr27WsdV61ald69e9OsWTOWLVvGzJkzrWen8uXLc+eddzJmzJhz7uN77vr000/p378/ABEREaSkpFjJYBEREZHCbM6cOaxZs8Y6LlWqFKNGjTpnfcg0TXYeyWDBtiMs+OUwP+9PozhlpwwDmsRF07lOLF3qxHBZ+QgMwwh0WFJCKflbgqzcc4ybJq8iy+UNdChSyIQ4bUwZ0pwW1coGOhQRKSR8jwe+h9SZM2fy+uuvs2bNGk6fPo3D4bCqfVu1asWECROoW7duwOIVERER+bd8L7ddyHk5OTlcf/31zJkzx2r3fPbzEfy+RcaYMWMYPnw4FSpU+NPv6Nu3L7NmzQLghhtuYMqUKTidqgwRERGRwi07O5uxY8eSk5NjjbVr146OHTv+7bWpGdks3J6bCF7ya2qRLFwLD7LTJr4cnevE0rFWDOUiggMdkgig5G+Js3LPMYZ+sLpI/iKV/BEeZGfyzc1pXq1MoEMRkULo7AXKo0eP8tprr/HJJ5/w22+/YZqm3952EydOZOjQoYEMV0REROQfWbNmDSEhIdSrV88au9Ak8KJFi7j33ntZv349kNvC2ev1EhQURFZWFpGRkXTt2pVPP/30vNf7qn5XrlzJtddey4EDB3A4HLz88suMGDFClSIiIiJS6K1du9ba/gJyiwjuvvtuIiP/2Z62Hq/J7qMZbEo+yabkk2xOOcmWlHTOFKI8RliQnYSKpalXMZL6lSJpcGkk1cpFYLfpmU0KHyV/S6Cf96dx0+RVnMrS/owlXakQB1OGNFerZxH5W2cvgi5YsIBXX32VpUuXcvr0aSv5u3HjRr+FUxEREZHCrnbt2kRFRdGrVy969uxJw4YN/9H1Bw8e5MUXX+S9994jOzub4OBgsrOzufTSSxkzZgx9+/albNmyfttq/NHNN9/MJ598gsvlomnTpnz00UfUqlUrL6YnIiIikm9M02T8+PEcOnTIGqtZs6a1lcW/5fGa7EnNYOOB3ITwL4fSOXQyiyOnsvM1KRwWZCemVDAVIkOoU6G0Er1SJCn5W0JtTj7JoEkrOZHpCnQoEiDRYU4+HNqCepX+2VtYIlJynZ0AzsjI4M0332TatGls3bqVp59+mkceeSTAEYqIiIhcuIkTJ3Lrrbdis9koXbo0NWvWpG3btjz77LMEBQX97fVnPxudOHGCGTNmYLPZKFu2LM2aNSM2NvZv77Fs2TLatm1rbbkxevRonn/++T9NFIuIiIgUFsnJyUycONFvbMCAAcTHx+f7d2dkuzmcnpsIPvL/f/qOM10ePB4Tt9fE4/Xi9po4bAZ2my33p90g1Jmb4I0tHUJMqWBi/v/P2NIhRAQ78j1+kfym5G8JtvPIKW6ZsoZ9x88EOhQpYFXLhjFxcCI1YkoFOhQRKYLOXuhcsmQJM2bM4JVXXglwVCIiIiL/zCWXXMLhw4ex2+3YbDZcLhc33XQTkydPtra3OJvX68UwDL9xr9eLaZoXlazdv38/AwYMYNmyZQA0a9aM999/n4SEhH83MREREZECMGvWLGv7C4DIyEhGjhx5QdtniEj+0n+FJViNmFLMurM1bWqUC3QoUoDa1CjHzDtaK/ErIhfNZrPh9XoBaNOmjRK/IiIiUiS999579OnTB4/Hg8uV2xVr9OjRQG5S17e1RWpqKqdPn8Zms2EYBqZpWpW6NpsNu93uN/ZXfPf89ddfefLJJ63EL8CwYcOoU6dOns5RREREJD9kZWWxZcsWv7EmTZoo8StSSKjyV3B7vDz77S9MXrY30KFIPhvauhoPX1kbh11/CItI3jhfVYyIiIhIUbJ8+XKef/553G433377rV+XE4D+/fuTnZ1N//796dy5M9HR0dZnfzz3QmRnZzNgwADmzJlDTk4OAH369OHzzz/H4VCbQRERESn8Vq1axXfffWcd22w2Ro0aRalSKjgSKQyU/BXLp6v38+iszbg8+leiuHHaDZ69qj7XJVYOdCgiIiIiIiKF0pkzZwgLC8Pj8WCaJg6HgxUrVpCUlITT6eTSSy8lMTGR7t27061bNypUqGBde6FJ4G3btjFy5EgWLFiAYRjY7XZq1arFV199VSD744mIiIj8W6Zp8s4773D06FFrrG7dulx77bUBjEpEzqZXSsVyfbM4LisfwfBpa0nNyAl0OJJHykUE8e7ApiRWLRPoUESkgHg8novad05ERESkJAsLCwPwe47ytYG22Wzs2bOHvXv3snz5cr766iu6detG9+7dqVq1qpX4/bskcPny5RkwYACnT59m+fLlxMfH88QTTyjxKyIiIkWGaZo0a9aMtWvXcvjwYQCaNm0a4KhE5Gyq/JVzJJ/I5NYP17AlJT3Qoci/lFCxNONvTKRSVGigQxGRApCSkkJsbKy1YHkxbQhFREREJJfb7eapp57igw8+4MCBA0BuEtjr9QIQGxtLgwYN6NKlCz179qR27drWtX/3HHbs2DHmz5/PZZddRmJiop7ZREREpEj67bff2LZtG507d9a2YCKFiJK/cl6ZOR5enr+d95ftQf+GFD2GAUOTqjG6ay1Cg1T9J1Kc+ap8f/rpJ1544QXWrVvHxIkT6dGjR6BDExERESkWjh49yieffMLbb7/Njh07ADAMA99yStmyZUlISKBTp0706tWLRo0aWdfqZTwRERERESloSv7KX1q99zj3f7GBvcfOBDoUuUDVyobz32sa0ExtnkVKjP3799OuXTsOHjyIy+UC4OGHH+bpp5/WW5ciIiIieeTkyZPMmDGDcePGsXbtWsA/CRwZGUnt2rXp0KEDvXv3plWrVta1Xq8XwzD0bCYiIiIiIvlOyV/5W5k5Hl6av53JqgIu1FTtK1Iybd26lREjRrBw4UIAoqKiaN68OU8++SQtWrQIcHQiIiIixU9mZiZz5szhrbfe4qeffjrn84iICOLj42nbti29e/emXbt2OBwOACtRrCSwiIiIiIjkFyV/5YKpCrjwUrWvSMm0Y8cOXn75ZSZOnGiNPfbYY9x4443UqFED0zS1sCgiIiKST9xuNz/88APjxo3jm2++scZ91cChoaFUr16dpKQkevXqxeWXX05YWBiAntNERERERCTfKPkr/4iqgAsXVfuKlDy+hcJTp07xxhtv8MILL3D69GkAhg0bxvjx4y/oHpC7MKl96ERERET+HdM0WbZsGe+88w6ffPKJ37OWaZoEBQVRtWpVmjdvTq9evejUqRNlyujFXRERERERyR9K/spFWbsvjee++4W1+9ICHUqJ1bRKNA9fWYemVaIDHYqIBMCsWbMYM2YMmzZtwuFwkJSUxPz58wkKCvrTSpI/jrtcLpxOZ0GGLSIiIlKsrV+/nvfee48pU6aQlZUFgM1mw+v1YrfbqV69OnFxcbz11lvUqlUrwNGKiIiIiEhxpOSvXDTTNFnwyxFemr+NHYczAh1OiVEzNoIHutWmU+0YtQkTKaEOHjzIk08+aVX5xsXFMXXqVNq1a4fH48Fu9+8E4Ev6pqens2XLFiZNmkRWVhYnTpygZ8+e9OnTh9jYWFUAi4iIiOSRHTt2MGnSJCZOnEhaWu5L006nE5fLRdmyZTl69GiAIxQRERERkeJKyV/51zxek5nrkxn7/Q6ST2QGOpxiq1JUKPd2qclVjSphtynpK1IS+ZK4y5cvp2/fvhw5cgSABx54gBdeeOGc830tnU3TJDk5mdtvv52lS5dy4sQJv/OaNGnCY489Rp8+ffy+R0RERET+nd9++42pU6fy3nvvceDAAQCee+45HnrooQBHJiIiIqI1IJHiSslfyTPZbg/TVu7nrYU7OX46J9DhFBtlwoO4q2MNBraII9ihfX1FSjLfA/no0aMZO3YsAJGRkezcuZOyZcv+6f6906ZN4/3332fhwoU4nU68Xi9er5egoCBcLhderxeA119/nREjRhTonERERERKgqNHj/LRRx8xefJkVq5cSWhoaKBDEhEREbEoCSxSvCj5K3nuVJaLiUv2MHX5XtLOuAIdTpEVHeZkcKuq/F/b6kQEOwIdjogUEqmpqXTo0IGtW7cCcO+99/Lyyy/jdrtxOM79XfHNN98wYMAATp8+je+P/LCwMLxe7zn70MXExPDtt9/SpEmTgpuQiIiISAmSnZ1NcHBwoMMQERGREsqX5N21axeTJk3i0ksvZeDAgURGRgY6NBHJQ9rcT/JcqRAn93SuyfKHOvHKtQ1pVDkq0CEVKY0rRzH22oYsf6gT93SuqcSviPgJCgry29PXl9D1jXk8HgDOnDnDl19+ybBhw8jIyMA0TRwOBy1atGDKlCmsX7+eF198kebNm+P1enE6nRw5coQPP/zQ774iIiIikneU+BUREZFA8lX3Llq0iFdeeYW77rqL6OhoPvjgA1wuFXKJFBfKKkm+CXHa6dfkUvo1uZTNySf5aOU+Zq5PJsvlDXRohU6I08ZVjSoxqEUV6lXSW1Yi8ucyMzPZtWuXdex2u4Hch3ev12slgd9++20++OADa1/g0NBQ7r77bu666y4qVqwIwP3330/jxo255pprSE9PB2DLli0FOR0RERERERERESlAaWlprFu3DpfLhd1ux+FwUL9+fZxOZ6BDE5E8orbPUqBOZrr48ucDfLRiH7tTTwc6nICrXi6cQS2r0K/JpUSG6g9XEbkwrVq1YuXKlQA4nU7ee+89Bg8ejM1mIyUlhWnTpvHggw/6XTN27FhuueUWSpUqBeC3P/DgwYP56KOPAKhcuTK//vorQUFBBTgjEREREREREREpCLt372bQoEGsWLGC4OBgHn74YR577DE8Ho9ftzkRKbpU+SsFKjLUydDW1RiSVJWVe47z/dbDLPjlMPuOnwl0aAWmSpkwOteJpUvdWFpUK2O12hAR+Tu+fVmuueYa1qxZg2mauN1unn32Wb766ivq1avH119/zfbt261rKlWqxMCBAxk1apTfvXyJX4/H49d+sH79+oB/clhERERERERERIqHrKwsVqxYAUCZMmW4/vrrAbROLVKMKPkrAWEYBi2rl6Vl9bI82qMOO49ksGDbERb8cpif96dRnOrRDQOaxEXnJnzrxHBZ+Qj9QSoiF8X3u6Nv377Mnj2b//3vf9hsNnbt2sWuXbv45ptvAKw2PbGxsdx///0MHToUODeh62sTffjwYWssKCgIp9Op31MiIiIiIiIiIsWIr6hg586d1liNGjWoWbMmgIoARIoRJX8l4AzDID62FPGxpbi9/WWkZmSzcHtuInjJr6mczvEEOsR/LDzITpv4cnSuE0vHWjGUiwj++4tERC5Q9erVee2117j11ltZu3Yt8PsDutfrxev1Ur58eSZMmEC3bt1wOp2Ypun3EO9r5bNq1SoraQxwzTXXKPErIiIiIiIiIlLM+NZ7goKCiI6OJi0tjdatWwOo5bNIMaM9f6VQ83hNdh/NYFPySTYln2Rzykm2pKRzphAlhMOC7CRULE29ipHUrxRJg0sjqVYuArtNyRMRyX9PPvkkU6dOJScnh+TkZCpUqMCAAQPo168frVq1st7qPNvZY9deey1ffvklAM2aNeObb76hfPnyBT4PERERERERERHJf/v27SM+Ph63203fvn2tdSERKT6U/JUix+M12ZOawcYDuQnhXw6lc+hkFkdOZedrUjgsyE5MqWAqRIZQp0JpJXpFJKDcbjcOR24Dj99++420tDRcLheVK1cmJibGOu98yV9f++fx48fz8MMPc/z4cRwOB08++SQPPvig2vyIiIiIiIiIiBQjvvWh1NRUypUrx80338zUqVOpX78+S5YsoVSpUoEOUUTykJK/UqxkZLs5nJ6bCD7y/3/6jjNdHjweE7fXxOP14vaaOGwGdpst96fdINSZm+CNLR1CTKlgYv7/z9jSIUQEq0u6iBS8P7bdOTuZ6/V6MQzjoto0b9myhW7dunHw4EFM06RLly5MmDCBuLi4PItdREREREREREQCy7eWlJGRwe23306HDh3Yv38/L7/8Mh6PhzfffJP/+7//w+PxYLPZtB2YSDGgbJYUKxHBDiLKR3BZ+YhAhyIictHOTvD6Er85OTkEBQX5PYD/cR/fC7mnaZr89ttvDB48mJSUFADi4uIYMmSIEr8iIiIiZ8nJyWHq1KkkJiZSv3597YMnIiIiRZLH48HhcPDOO+8wbdo0Fi1aRP369XE4HGRmZvL000/ToEEDWrRoAeSuIQFKAosUYar8FRERKSR87ZgBTpw4wdKlS1m8eDEHDx7k5MmTxMTEULt2bWrXrk3Pnj0v6jvmzJnD+PHj+frrr60xX7vnoKCgPJmHiIiISHGwcuVK5s6dC0Dp0qVJSkqiefPmWggVERGRIqlChQocOXLEOvZ1k/N6vVx22WU89dRTXH311QQHB1vnnG87MREp/FT5KyIiUkj4Er+TJk1i/PjxrF69+pxzgoOD8Xg8NGnShEceeYTLL7+c8PDwP72n7yE9PT2dH3/8kZEjR3LgwAHr89tuu40777xTiV8RERGRs3g8HpYtW2Ydp6ens2vXLqsiRkRERKQoSU5OpkKFChw7dgyPxwPkrkP52jzv2rWLO+64gx9++IG+ffvSokULypUrZyV+lQQWKVpU+SsiIlJIZGZm8thjjzF27Fggt+WzzWbD5XJZ55z90A0waNAgbrnlFlq2bOn3ZubZTp8+zX333cf48eOB35PMHTt2ZO7cuWphKCIiIvIH69evZ9asWX5j2iZDREREiiqv10tKSgobN25k5syZzJkzh4MHD1qfBwUFkZOTg8PhoGbNmiQlJdG2bVuaN29OzZo1z9mGTIlgkcJNyV8REZEA8j0wHz58mHfeeYennnrK7/MGDRoQHR1NtWrVWLRoEadPn+bo0aPW/r0AlSpVYt68edStW/e83+FyuVi7di3PPfcc33zzDQA33ngjTz75JFWrVs3X+YmIiIgUNaZp8vbbb5OammqNVa5cmaFDhwYwKhEREZG8cerUKXbt2sUPP/zAjBkz/LqdnL3eVKFCBRo3bkzr1q1JSkqiYcOGREdHW+cqCSxSeCn5KyIiEmBut5vx48fzzDPPcOjQISA36XvXXXdxww03EB4ejmEYZGRksGjRIiZOnMjs2bNxOp24XC769+/P2LFjiY2N/cvvSUtLY/LkydhsNq6//nouueSSgpieiIiISJGybds2Pv30U7+x/v37U7NmzQBFJCIiIpL3XC4Xhw8fZu3atcyaNYs5c+Zw9OjRc84LCQmhdu3atGzZkjZt2tCsWTPi4+MDELGIXCglf0VERAJs1apVPPjggyxevBibzUZcXBwLFiygevXq1jk5OTnWvrwtW7Zk1apVAMTHxzNt2jQSExPPe2+9hSkiIiJy4UzTZNKkSSQnJ1tjMTExDB8+XM9UIiIiUiyZpsmpU6f49ddf+f7775kxYwarV68+77mVKlWiSZMmVjVw/fr1iYyMLOCIReTvOAIdgIiISEmWk5PD4sWLWbx4MQBly5blxRdfpHr16ng8Hms/Xt/Pd99910r8AowaNYp69eqd995nJ36VBBYRERH5e3v37vVL/AK0adNGz1EiIiJSbBmGQenSpWnatCn169dnwIABrFq1ilmzZvHdd99x/Phx69zk5GSSk5NZsGABDRo0ID4+nvvvv5/69esHcAYi8keq/BUREQmgzMxMkpKS2LBhAwDXXXcd06dPB35P2PqSwIcOHaJq1ark5ORY544dO5aKFSuec99du3axZcsWWrVqRfny5QtuQiIiIiJF2Icffsju3but46ioKEaMGIHNZgtgVCIiIiIFyzRNTp48yY4dO5g3bx4zZ85k3bp15z03JSWFChUqFHCEIvJX9LcXERGRAJo7d66V+AV45JFHAPB4PFaFia/qd/jw4Vbit1KlStxxxx3nJH5973Rt2LCBhx9+mFdeeYUNGzagd71ERERE/lpKSopf4hcgKSlJiV8REREpcQzDICoqiubNm/PAAw/w5Zdf8vHHH3PttddSunRp67yuXbsq8StSCKnts4iISABt2rQJp9OJy+WiU6dOxMfH4/V6rYSv2+3G4XAwffp0Zs+ebV03cuTIP93nF3IXL7du3crWrVvZsWMHH3/8MSEhIfk+HxEREZGiaunSpX7H4eHhNGrUKDDBiIiIiOQRX2e5s7cEO3ursb8THBxM1apViYuLo1u3bvzyyy/Mnz+f8ePHc+edd+Zn6CJykZT8FRERCaCTJ0/icrkArKSvr7rE4/HgcDg4ffq038P0lVdeybXXXktYWNg59zMMg9OnT7Nw4ULsdjsej4fy5csTEhKifX9FRERE/sSxY8fYunWr31iLFi1wOp0BikhEREQkbxiGgdfrxev1cvDgQSpXrnzBid+z2Ww2oqOjSUpKokmTJgwZMoQqVarkQ8Qi8m8p+SsiIhIgXq8Xj8djHZcpUwan02klaX0P4nfddRdpaWnWOSNHjiQuLu5P73v8+HGOHDmCx+OhVKlS1K1bF0CJXxEREZE/8ceq3+DgYJo1axagaEREREQunm9dyeVysWHDBr788ktmz55NdHQ0pmni9Xpp164dvXr1olatWkRGRhIUFPSPviMkJESJX5FCTMlfERGRALHZbNa+KIZhsGzZMg4dOkSFChXIzs4mODiYefPmMWXKFOuaO++8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93g8lCpVijFjxnD11VezfPlyNm3axFdffUWpUqXYvn071atX55JLLqF9+/Z0796dpKSkgpuQiIiISBFlmiZLlizxG4uJiSE+Pj5AEYmIiIhcPN9a0tq1a7Hb7Xg8Hrp37w7kri/ZbDYMw+DIkSNWW2iAxo0bU65cuXPu59uerGzZspQvX5709HRmzJjBM888YxU3iEjhp+SviIhIHnK73TgcDrKzswkODqZSpUqUK1eO1NRUTp06BZxb9ftHdrvdagtdr1496tWrB8DTTz9Neno6Xq+XiIgIQkNDCQsLs6774x7CIiIiIuJv7969JCcn+421adNGz1AiIiJSZPnWonxrSRUrVrQKD3yVvOvWrcPj8QBQpkwZLr30Uqvl8x95vV5iYmKoXr06u3btwuPxsG3bNquaWEQKP7V9FhERyUO+tsy9e/emX79+nDx50mojmJWVBXBBi4u+BLHvId3r9RIZGUnlypWpUqUKZcuW9Uv8Xuh9RUREREqyP1b9RkVFkZCQEKBoRERERP49h8NBZmYmpmni9Xpxu91WxznfWlFWVhbp6ekAnDhxgjp16gC/rzudzWaz4XK5WL16NQApKSkEBwcXxFREJI+o8ldERCSP+N6q/OSTT/j+++8BWL16tdVGZ968eaSkpFCxYkXrbcy/43tIv5BzRUREROTPpaSksHv3br+xpKQkPWeJiIhIkdejRw9OnTrF559/bq1D+fYDttls2O12Tp48iWEYhISEULlyZeDcQgLf2ta8efPIyckBoFKlSlx66aUFOBsR+bf0NxwREZE8YrfbycrK4uGHHwYgKCiIAwcOsGHDBmw2G7t27eLdd98FlMwVERERKWhLly71Ow4PD6dRo0aBCUZEREQkD3Xq1Innn3+eefPm0blzZyB37cm3/pSeno7T6cTpdJKdnc28efMAcLlcftW/vvM//fRTXC4XAM2aNbM63YlI0aCVZxERkTyUnp5Or169aNSokbWXCvz+8PzWW28xZcoUMjMzAxWiiIiISIlz7Ngxtm7d6jfWsmVLnE5ngCISERERyVvlypWjRYsWxMXFnfNZ27Ztsdls5OTk4PF4mD17NhkZGTidTgzDsBK9hmGwdOlSPvnkE1wuFzabjUaNGhEREVHQ0xGRf0HJXxERkTwUExPDG2+8wVNPPUWfPn0oX748pmla+62cOHGCl19+mTlz5ljtd0REREQkf/2x6jc4OJjExMQARSMiIiKSf3z7/fp4vV4qVKjA5ZdfDuTuEfztt9/SvHlzJk2axNGjR3E6naSmpjJu3DhuvfVWa82qTp069OzZ85z20CJSuBnm+Xb0FhERkYty9l6+ycnJTJ06lS+//JLNmzeTk5ODYRiYponT6eTBBx/kvvvuIzIyMsBRi4iIiBRf6enpvP76634v3rVu3dpqiSgiIiJSEnz++ecMGDDA2tfX4/FQunRpSpUqRZUqVUhPT2fz5s0YhoFhGHi9Xh555BHGjBmjbikiRYySvyIiInnM90er763IH3/8kcmTJ7Nw4UJSUlL8zm3WrBnPP/+89faliIiIiOStefPmsWLFCuvYbrczatQotS8UERGREmfixIk8++yz7Nu3D4fDgdfrxTRNTNO0ihl8x/Xr12fhwoWUKVMmwFGLyD+lts8iIiJ57Ow3JAEuv/xyXnvtNe6//35atWpFaGgokLsP8OrVq+ncuTOjR4/myJEjgQxbREREpNjJzMxk7dq1fmPat05ERESKm7Nr/M63zZjv8/79+/Of//yH6tWr43a78Xq9VvGC1+u1ksF9+vTh7bffVuJXpIhS5a+IiEg+M03TepBevnw5H3zwAfPnz2ffvn1+59WuXZvnn3+ePn36BCJMERERkWJn8eLFLFq0yDo2DIMRI0YQHR0duKBERERE8oCvffPF8Hq9fPLJJ0yePJndu3cTHh7OsWPHqFu3LldccQX33nuvVQksIkWPkr8iIiIF4Oy9gDMyMpg+fToff/wxa9asISMjA5vNZr2ZOWzYMB599FHi4uICGbKIiIhIkZaTk8Nrr71GZmamNVavXj369esXwKhERERE8s7JkyfZs2cPO3fuBCAtLY1GjRrRpEmT8yaGTdPE6/X6fXbgwAFOnTpF5cqVsdvtVse6s4sZRKRoUfJXREQkD/iSu2cnef/qPIANGzYwefJkvvvuO3bu3OnXoufSSy/l2WefZcCAARf9FqeIiIhISbZy5Urmzp3rNzZ8+HBiY2MDFJGIiIjIv+NLyG7fvp0ZM2YwdepUUlJSSE9Px+FwEBQUxJkzZ6hcuTJ9+/alW7du1KtXj0qVKp2zXvVvKodFpHBT8ldERCSf+P6I/eNbkme/OZmTk8MXX3zBRx99xIoVKzhx4oRfFfANN9zAww8/TL169Qo2eBEREZEizOPx8MYbb5Cenm6NxcfHM2DAgABGJSIiIvLveL1eli1bxs0338zu3bsBrKSuaZrWmtPZaZ9u3boxadIkKlasGJCYRaTgOQIdgIiISFFyduL2119/ZdWqVcydO5eoqCjOnDlDt27dqFKlCrVr1yYyMhI4901K3/Ver5egoCAGDBhAYmIikydP5uuvv2b79u0AOJ1Opk+fzubNm9m4cWMBz1RERESk6Nq0aZNf4hegTZs2AYpGRERE5N/xrUd9/PHH/Oc//yE5ORmHw4Hb7cbr9VKuXDlSU1MpU6YM6enpeDweQkJCyMzMtCqCRaTkUOWviIjIBfI9aKelpfHee+8xfvx49u7de8559erVo2bNmlx//fVce+21AFYl7x9b7Pxx/5RZs2YxdepUli5dypEjRwD45ptv6N69ez7NSkRERKR4MU2Tt99+m9TUVGuscuXKDB06NIBRiYiIiPw7v/zyC927d2ffvn3WWL9+/bjiiito164d2dnZ7Nixg++//5733nvPOmfatGlcf/3156xJud1uHA7VB4oUR/ovW0RE5AIZhsGZM2e4+eab+frrrwGsh2S3222ds3nzZn755RcWLlzIZ599xpNPPkndunWBv64Cttls9OnTh8aNG/PRRx/xzjvv0LVrVyV+RURERP6B7du3+yV+QVW/IiIiUjT5igZSU1OZNGmSlfi12+3897//5dZbbyU8PNw6v169eixfvtw6btKkCc2bNz8n8Qswf/58QkNDqVOnDhUqVMj/yYhIgVHyV0RE5ALt3r2bl19+ma+//tpK2rrdburWrUtYWBimabJ27VogN8mblpbGl19+yeLFi7n//vu5//77sdvt1h4sZz9422w264E+Li6Ohx9+mFatWpGUlBSQuYqIiIgURaZpsmTJEr+xmJgY4uPjAxSRiIiIyMXzrT+tXLmSOXPmWOMjRozgnnvuAX4vKPB5//33rX/u3bs3lSpVOue+OTk5fPfdd8yZM4dOnTpx7bXX0qVLF7/udCJSdJ37uoeIiIhYfLsjpKWl8fHHHzN58mRrvG3btrzxxhts3LiR77//npUrV7Jo0SJiY2Ox2WwYhoHNZiM1NZUHH3yQjh07snLlSmvc4/H4fdfZVcAAHTt2JDg4uABnKyIiIlK07d27l+TkZL+xNm3aaCFTREREiqzs7Gx+/vlntm/fDsBll13G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3XffUblyZe68805uuOEGKleu/KeVtgkJCfzyyy84nU7uvPNOxo4da312vgTu5s2befTRR5k9ezbwe7udMmXKkJSUxI033sjVV1+N3W4H1N5ZREREJC+lp6fz+uuvW60PAVq3bm21RhQREREpqnbu3Mk999zDnDlzAGjcuDErVqw4b3eTnJwckpOT2bBhA4sWLeLHH3/02x/4bNWrV6djx4506tSJhIQE6tata61biUjxp+SviIgUaV9++SXXXnut3/4nXbt25d577yUpKYmIiAi/85cuXUqXLl3IysqifPnybNiwgQoVKvxt1a7L5WLq1Kk8+uijHD582Bo3DIOaNWvSo0cPhgwZQkJCAvDP9gIWERERkT83b948VqxYYR3b7XZGjRp1znOeiIiISFGzfPly+vfvz/79+4mMjOSdd97hhhtuwOVyWQng8xUZHD9+nB07drBixQoWLFjAsmXLOHHixDn3DwkJoXXr1nz33Xc4HGoEK1JSaFVaRESKtBMnTtCiRQuCg4Otsfnz53P99dfz4osvsnPnTjwej/VZmTJlrHNvuukmKlSogMfj+dtErdPp5JZbbmHp0qXceOON1rhhGGzfvp2JEydyzz33MGXKFDIzM5X4FREREckDmZmZ1nYdPo0aNVLiV0RERIo0XwFDdnY2+/fvxzAMKlWqRK9evQD8Kn/P112uTJkytGzZkttvv53XXnuN8ePHc8cdd1C7dm3rHLvdTlZWFlFRUUr8ipQwWpkWEZEi7ZZbbmHs2LHcdtttVKtWzRo/efIkzz77LDfffDOzZ8/m5MmTQG6LnMzMTIKCgqhQoQLAP2p7U716daZMmcKnn37KZZddZrUfTE9PZ8GCBTz//PMMGzaMffv25eEsRUREREqmVatW4XK5rGPDMGjdunUAIxIRERH593wJ3W3btgG5yeDExETCw8P9trr4O8HBwdSoUYNrrrmGJ554ggkTJvDf//6Xbt26UapUKQBGjx6d9xMQkUJNr3uIiEiR5Wt706pVK2rUqEGjRo347LPPWLRoEZmZmRiGwbJly1i7di3Dhw9n2LBhVK1alXLlypGSkkJISAgAHo/nH+97cu2119KmTRuef/553nrrLQCCgoLYsWMH2dnZVKpUKc/nKyIiIlKS5OTksHLlSr+xhIQEoqOjAxSRiIiISN5KTEwkKCiInJwcmjRp8q/u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hmHgcDjYu3cvgwcP5uOPPyYnJweA6tWrM27cOIYMGQLkths0TZOwsDBuuOEGnE4nDkfue1H79u0LwOxEREREir/t27eTmprqN6aqXxERERERkbyhyl8RESlSfJW/zZo1IyYmxqoAfvbZZ9m7dy/169dn+/btrF69ms2bNwO5raATEhKYMGECjRs3tu5lt9utfw4PDyc4OJiMjAycTieVK1cuwFmJiIiIlAymabJkyRK/sZiYGOLj4wMUkYiIiEj+ME3TWscSESlISv6KiEiRVLNmTUaOHMmjjz5qjU2bNg2Hw4Hb7cZms2G32/F4PPTs2ZM77riD5s2bn/Pg7fF4sNvtVgWxYRjYbDbOnDkTiGmJiIiIFGt79+4lOTnZb6xNmzZaGBUREZFix/d843a7rU5zIiIFQb9xRESkyPElcO+++27cbjfvv/8++/fvB3Krec/e97dz586MGzfuT/fv9VX/jhs3Dq/XC+S2h+7WrVvBTEZERESkBPlj1W9UVBQJCQkBikZEREQk7/jWq3Jycli2bBkREREkJiYq8SsiBU57/oqISJHje3MyPDyc4cOHM2bMGPr27YvNZiM7OxuHw0HNmjV57bXXmD59ul/i949VvwA//PAD33//vTV+2223FdBMREREREqOlJQUdu/e7TeWlJSEzaalCRERESn6fEUFM2fOZOjQoTRv3pxatWrx8ccfBzgyESlp9MqJiIgUaTExMQwdOpQePXrw/PPPs2rVKurWrUuFChWoWLEicP49VrxeL3a7nTNnzvDiiy+Snp4OQIsWLejSpUuBz0NERESkuFu6dKnfcXh4OI0aNQpMMCIiIiJ5zG6343a7eeSRR/jtt98A+PXXX61udX9HewSLSF5R8ldERIo034NxbGwssbGx1KxZE/j9bUvgvA/OvgqTJ554gkWLFuF2u4mIiKBv377Url27YIIXERERKSGOHTvG1q1b/cZatmyJ0+kMUEQiIiIieSsrK4vXXnuNXbt2ARAREcEjjzzCgw8++KfXeDwea0syJX5FJK8o+SsiIkXa2Q/GZ78h+XftA03TZNq0abz88svWWPfu3RkyZIgetkVERETy2B+rfoODg0lMTAxQNCIiIiJ5b+XKlUyZMsU6vvHGGxk+fDjw51W9drudzMxMtm3bxsGDB2nYsCGlSpWiVKlSGIbhlxwWEblQ2lhHRESKjb9L2vqqgdPS0hg3bhyjRo2yPmvatCkjRoygfPny+RmiiIiISImTnp7Ohg0b/MYSExMJCQkJUEQiIiIieevkyZN88803bN++Hcjd3uLRRx8lMjIS8F+z8q1PZWRk8M0339CqVSuuuOIKevbsSdWqVbnuuuusfYKV+BWRi6Hkr4iIlBg2m4309HRGjhzJE088wfHjx4HcB/IxY8aQlJQU4AhFREREip/ly5f7bclht9tp2bJlACMSERERyRumaQKwYcMGFi5cCIDT6WTYsGFccsklfs9APr5udY8++iiDBw9m48aNHD16lJCQEDweD/Pnz+fGG2+kY8eObNy4seAmIyLFhpK/IiJSYsyZM4eBAwcybdo0jh8/js1mw2az8dZbb9GrVy+1exYRERHJY5mZmaxdu9ZvrHHjxkRERAQoIhEREZG8YxgGXq+XNWvWsGXLFgBiY2MZPHjwOef6EsXp6em88sorvPHGG5w8edJKBmdlZVnnOhwOFi9ezHvvvQdw3iSyiMifUfJXRERKjJiYGKKioqhQoQIANWvW5IUXXuCmm24KcGQiIiIixdOqVatwuVzWsWEY6rYiIiIixcqxY8dYv3492dnZANSvX5/GjRsDv1f5wu8J3ClTpjB27FggNyEcGhpKy5Ytufzyy2nZsiXh4eG43W4A3nnnHX766Se/+4iI/B39xhARkRKjWbNmjB8/ngceeIA+ffrw5ptvMmLEiECHJSIiIlIs5eTksHLlSr+xevXqER0dHaCIRERERPLHqlWrrH++8sorAfB4PH7n2O129u/fz5NPPsnBgweB3BfjXn75ZRYuXMiCBQuYPHkyQ4YMASA4OBjITRaLiPwTjkAHICIiUlB8b1OOGjWKYcOGqd2giIiISD76+eefyczM9Btr3bp1gKIRERERyVumaWIYBseOHWPHjh0YhoFpmrRt2xb4verX6/Vis9nYt28fzz33HMePHwcgOjqa++67j9tuu826Z61atXjjjTf4+eefWbZsGZBbWXz294mI/B1V/oqISInhewgHlPgVERERyUcej4fly5f7jcXHxxMbGxugiERERETyli8Ru2PHDsLDw7HZbERERLB7927g9zbPviTwhAkT+PLLL63rBw8ezO233w78vh+waZqYpknTpk0xDAPDMEhLSyM1NVWJXxG5YKr8FRGREkUPyiIiIiL5b9Om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5vmNDR8+nNjY2ABFJCIiIhIYGRkZ/PDDD0yZMoXZs2dbFcBnVwNHRERQtWpVmjRpQqdOnejQoQOVK1e27mGapiqBRSRPKPkrIiKFgtfrZcKECRw6dMgas9ls3HbbbcTExAQwMhERERH5I4/HwxtvvEF6ero1Fh8fz4ABAwIYlYiIiEjg/fLLL0yfPp2PPvqIPXv2WOO+amC73U6FChWoU6cObdq0oWvXrjRt2hSn0xnAqEWkOFHyV0RECoUlS5bwww8/+I21b9+eDh06BCYgEREREflT69evZ9asWX5jQ4YMIS4uLkARiYiIiBQuJ0+e5Pvvv2fy5Ml899131vjZ1cBRUVFUqFCBTp068eabbwYqVBEpZtRDU0REAu7YsWMsXrzYb6x8+fK0adMmQBGJiIiIyJ8xTZOlS5f6jVWuXFmJXxEREZGzREZGcs011zBnzhzWr1/PAw88wKWXXmolfgHOnDnDtm3bCA0NDWCkIlLcKPkrIiIBZZom33zzDW6322+8V69eOByOAEUlIiIiIn9m27ZtpKam+o3ppT0RERGRP9egQQNeeOEF1q9fz0cffUTnzp0ByMnJAWD48OGBDE9EihmtqouISED9/PPP7N2712+sefPmVK5cOTABiYiIiMifOl/Vb0xMDPHx8QGKSERERKToKFOmDAMGDKB///6sW7eO8ePHc/ToUapXrx7o0ESkGFHyV0REAubUqVN8//33fmORkZF06tQpQBGJiIiIyF/Zu3cvycnJfmNt2rTBMIwARSQiIiJS9BiGQZMmTXj33Xet6l8Rkbyits8iIhIQpmny7bffkp2d7Tfes2dPgoKCAhSViIiIiPyVJUuW+B1HRUWRkJAQoGhEREREij6tg4lIXlPyV0REAuKXX35h27ZtfmMNGjSgRo0aAYpIRERERP5KSkoKu3fv9htLSkrCZtPSgoiIiIiISGGhv6GJiEiBy8zM5Ntvv/UbCwsLo1u3bgGKSERERET+zh/3+g0PD6dRo0aBCUZERERERETOS8lfEREpcPPnz+f06dN+Y1dccQVhYWEBikhERERE/sqxY8fYunWr31jLli1xOp0BikhERERERETOR8lfEREpULt372b9+vV+Y/Hx8dSrVy8wAYmIiIjI3/pj1W9wcDCJiYkBikZERERERET+jJK/IiJSYFwuF998843fWFBQED169MAw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\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "chain = GraphQAChain.from_llm(llm, graph=final_graph, verbose=True)\n",
        "llm.temperature = 0\n",
        "chain.run('India is in?')"
      ],
      "metadata": {
        "id": "pmKyknvdOrli",
        "outputId": "b194c27c-bbe7-4d61-c3d2-a3ded9ca65cf",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 284
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "\n",
            "\u001b[1m> Entering new GraphQAChain chain...\u001b[0m\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " IndiaEntities Extracted:\n",
            "\u001b[32;1m\u001b[1;3m India\u001b[0m\n",
            "Full Context:\n",
            "\u001b[32;1m\u001b[1;3mIndia country is a\n",
            "India South Asia is in\n",
            "India is the world's most populous democracy)\n",
            "END OF EXAMPL from the time of its independence in 1947\u001b[0m\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " South Asia\n",
            "\u001b[1m> Finished chain.\u001b[0m\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "' South Asia'"
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "string"
            }
          },
          "metadata": {},
          "execution_count": 16
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [
        "chain.run('What is India?')"
      ],
      "metadata": {
        "id": "fOVSYNEQZqYC",
        "outputId": "309c7148-aba0-491a-d14d-aef6966b6a0f",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 322
        }
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "\n",
            "\n",
            "\u001b[1m> Entering new GraphQAChain chain...\u001b[0m\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " IndiaEntities Extracted:\n",
            "\u001b[32;1m\u001b[1;3m India\u001b[0m\n",
            "Full Context:\n",
            "\u001b[32;1m\u001b[1;3mIndia country is a\n",
            "India South Asia is in\n",
            "India is the world's most populous democracy)\n",
            "END OF EXAMPL from the time of its independence in 1947\u001b[0m\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stderr",
          "text": [
            "Llama.generate: prefix-match hit\n"
          ]
        },
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            " India is a country located in South Asia. It gained independence from British rule in 1947 and is known for being the world's most populous democracy.\n",
            "\u001b[1m> Finished chain.\u001b[0m\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "\" India is a country located in South Asia. It gained independence from British rule in 1947 and is known for being the world's most populous democracy.\""
            ],
            "application/vnd.google.colaboratory.intrinsic+json": {
              "type": "string"
            }
          },
          "metadata": {},
          "execution_count": 19
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "## Visualization\n",
        "\n",
        "We can use networkx to display the graph within our notebook!\n",
        "\n",
        "While not all triplets are perfect or correct, `rebel` does a good job of extracting appropriate `subj` values, which helps the query engine locate the text chunks for answering the query!"
      ],
      "metadata": {
        "id": "FgFYX_RHP_Df"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "from pyvis.network import Network\n",
        "\n",
        "net = Network(notebook=True, cdn_resources=\"in_line\", directed=True)\n",
        "net.from_nx(G)\n",
        "net.show('/content/example.html')\n",
        "\n",
        "import IPython\n",
        "IPython.display.HTML(filename='/content/example.html')\n"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 651
        },
        "id": "NJrFdFSFLxXC",
        "outputId": "3feeffd0-7089-4153-a58e-580eae62fabb"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "stream",
          "name": "stdout",
          "text": [
            "/content/example.html\n"
          ]
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "<IPython.core.display.HTML object>"
            ],
            "text/html": [
              "<html>\n",
              "    <head>\n",
              "        <meta charset=\"utf-8\">\n",
              "        \n",
              "            <script>function neighbourhoodHighlight(params) {\n",
              "  // console.log(\"in nieghbourhoodhighlight\");\n",
              "  allNodes = nodes.get({ returnType: \"Object\" });\n",
              "  // originalNodes = JSON.parse(JSON.stringify(allNodes));\n",
              "  // if something is selected:\n",
              "  if (params.nodes.length > 0) {\n",
              "    highlightActive = true;\n",
              "    var i, j;\n",
              "    var selectedNode = params.nodes[0];\n",
              "    var degrees = 2;\n",
              "\n",
              "    // mark all nodes as hard to read.\n",
              "    for (let nodeId in allNodes) {\n",
              "      // nodeColors[nodeId] = allNodes[nodeId].color;\n",
              "      allNodes[nodeId].color = \"rgba(200,200,200,0.5)\";\n",
              "      if (allNodes[nodeId].hiddenLabel === undefined) {\n",
              "        allNodes[nodeId].hiddenLabel = allNodes[nodeId].label;\n",
              "        allNodes[nodeId].label = undefined;\n",
              "      }\n",
              "    }\n",
              "    var connectedNodes = network.getConnectedNodes(selectedNode);\n",
              "    var allConnectedNodes = [];\n",
              "\n",
              "    // get the second degree nodes\n",
              "    for (i = 1; i < degrees; i++) {\n",
              "      for (j = 0; j < connectedNodes.length; j++) {\n",
              "        allConnectedNodes = allConnectedNodes.concat(\n",
              "          network.getConnectedNodes(connectedNodes[j])\n",
              "        );\n",
              "      }\n",
              "    }\n",
              "\n",
              "    // all second degree nodes get a different color and their label back\n",
              "    for (i = 0; i < allConnectedNodes.length; i++) {\n",
              "      // allNodes[allConnectedNodes[i]].color = \"pink\";\n",
              "      allNodes[allConnectedNodes[i]].color = \"rgba(150,150,150,0.75)\";\n",
              "      if (allNodes[allConnectedNodes[i]].hiddenLabel !== undefined) {\n",
              "        allNodes[allConnectedNodes[i]].label =\n",
              "          allNodes[allConnectedNodes[i]].hiddenLabel;\n",
              "        allNodes[allConnectedNodes[i]].hiddenLabel = undefined;\n",
              "      }\n",
              "    }\n",
              "\n",
              "    // all first degree nodes get their own color and their label back\n",
              "    for (i = 0; i < connectedNodes.length; i++) {\n",
              "      // allNodes[connectedNodes[i]].color = undefined;\n",
              "      allNodes[connectedNodes[i]].color = nodeColors[connectedNodes[i]];\n",
              "      if (allNodes[connectedNodes[i]].hiddenLabel !== undefined) {\n",
              "        allNodes[connectedNodes[i]].label =\n",
              "          allNodes[connectedNodes[i]].hiddenLabel;\n",
              "        allNodes[connectedNodes[i]].hiddenLabel = undefined;\n",
              "      }\n",
              "    }\n",
              "\n",
              "    // the main node gets its own color and its label back.\n",
              "    // allNodes[selectedNode].color = undefined;\n",
              "    allNodes[selectedNode].color = nodeColors[selectedNode];\n",
              "    if (allNodes[selectedNode].hiddenLabel !== undefined) {\n",
              "      allNodes[selectedNode].label = allNodes[selectedNode].hiddenLabel;\n",
              "      allNodes[selectedNode].hiddenLabel = undefined;\n",
              "    }\n",
              "  } else if (highlightActive === true) {\n",
              "    // console.log(\"highlightActive was true\");\n",
              "    // reset all nodes\n",
              "    for (let nodeId in allNodes) {\n",
              "      // allNodes[nodeId].color = \"purple\";\n",
              "      allNodes[nodeId].color = nodeColors[nodeId];\n",
              "      // delete allNodes[nodeId].color;\n",
              "      if (allNodes[nodeId].hiddenLabel !== undefined) {\n",
              "        allNodes[nodeId].label = allNodes[nodeId].hiddenLabel;\n",
              "        allNodes[nodeId].hiddenLabel = undefined;\n",
              "      }\n",
              "    }\n",
              "    highlightActive = false;\n",
              "  }\n",
              "\n",
              "  // transform the object into an array\n",
              "  var updateArray = [];\n",
              "  if (params.nodes.length > 0) {\n",
              "    for (let nodeId in allNodes) {\n",
              "      if (allNodes.hasOwnProperty(nodeId)) {\n",
              "        // console.log(allNodes[nodeId]);\n",
              "        updateArray.push(allNodes[nodeId]);\n",
              "      }\n",
              "    }\n",
              "    nodes.update(updateArray);\n",
              "  } else {\n",
              "    // console.log(\"Nothing was selected\");\n",
              "    for (let nodeId in allNodes) {\n",
              "      if (allNodes.hasOwnProperty(nodeId)) {\n",
              "        // console.log(allNodes[nodeId]);\n",
              "        // allNodes[nodeId].color = {};\n",
              "        updateArray.push(allNodes[nodeId]);\n",
              "      }\n",
              "    }\n",
              "    nodes.update(updateArray);\n",
              "  }\n",
              "}\n",
              "\n",
              "function filterHighlight(params) {\n",
              "  allNodes = nodes.get({ returnType: \"Object\" });\n",
              "  // if something is selected:\n",
              "  if (params.nodes.length > 0) {\n",
              "    filterActive = true;\n",
              "    let selectedNodes = params.nodes;\n",
              "\n",
              "    // hiding all nodes and saving the label\n",
              "    for (let nodeId in allNodes) {\n",
              "      allNodes[nodeId].hidden = true;\n",
              "      if (allNodes[nodeId].savedLabel === undefined) {\n",
              "        allNodes[nodeId].savedLabel = allNodes[nodeId].label;\n",
              "        allNodes[nodeId].label = undefined;\n",
              "      }\n",
              "    }\n",
              "\n",
              "    for (let i=0; i < selectedNodes.length; i++) {\n",
              "      allNodes[selectedNodes[i]].hidden = false;\n",
              "      if (allNodes[selectedNodes[i]].savedLabel !== undefined) {\n",
              "        allNodes[selectedNodes[i]].label = allNodes[selectedNodes[i]].savedLabel;\n",
              "        allNodes[selectedNodes[i]].savedLabel = undefined;\n",
              "      }\n",
              "    }\n",
              "\n",
              "  } else if (filterActive === true) {\n",
              "    // reset all nodes\n",
              "    for (let nodeId in allNodes) {\n",
              "      allNodes[nodeId].hidden = false;\n",
              "      if (allNodes[nodeId].savedLabel !== undefined) {\n",
              "        allNodes[nodeId].label = allNodes[nodeId].savedLabel;\n",
              "        allNodes[nodeId].savedLabel = undefined;\n",
              "      }\n",
              "    }\n",
              "    filterActive = false;\n",
              "  }\n",
              "\n",
              "  // transform the object into an array\n",
              "  var updateArray = [];\n",
              "  if (params.nodes.length > 0) {\n",
              "    for (let nodeId in allNodes) {\n",
              "      if (allNodes.hasOwnProperty(nodeId)) {\n",
              "        updateArray.push(allNodes[nodeId]);\n",
              "      }\n",
              "    }\n",
              "    nodes.update(updateArray);\n",
              "  } else {\n",
              "    for (let nodeId in allNodes) {\n",
              "      if (allNodes.hasOwnProperty(nodeId)) {\n",
              "        updateArray.push(allNodes[nodeId]);\n",
              "      }\n",
              "    }\n",
              "    nodes.update(updateArray);\n",
              "  }\n",
              "}\n",
              "\n",
              "function selectNode(nodes) {\n",
              "  network.selectNodes(nodes);\n",
              "  neighbourhoodHighlight({ nodes: nodes });\n",
              "  return nodes;\n",
              "}\n",
              "\n",
              "function selectNodes(nodes) {\n",
              "  network.selectNodes(nodes);\n",
              "  filterHighlight({nodes: nodes});\n",
              "  return nodes;\n",
              "}\n",
              "\n",
              "function highlightFilter(filter) {\n",
              "  let selectedNodes = []\n",
              "  let selectedProp = filter['property']\n",
              "  if (filter['item'] === 'node') {\n",
              "    let allNodes = nodes.get({ returnType: \"Object\" });\n",
              "    for (let nodeId in allNodes) {\n",
              "      if (allNodes[nodeId][selectedProp] && filter['value'].includes((allNodes[nodeId][selectedProp]).toString())) {\n",
              "        selectedNodes.push(nodeId)\n",
              "      }\n",
              "    }\n",
              "  }\n",
              "  else if (filter['item'] === 'edge'){\n",
              "    let allEdges = edges.get({returnType: 'object'});\n",
              "    // check if the selected property exists for selected edge and select the nodes connected to the edge\n",
              "    for (let edge in allEdges) {\n",
              "      if (allEdges[edge][selectedProp] && filter['value'].includes((allEdges[edge][selectedProp]).toString())) {\n",
              "        selectedNodes.push(allEdges[edge]['from'])\n",
              "        selectedNodes.push(allEdges[edge]['to'])\n",
              "      }\n",
              "    }\n",
              "  }\n",
              "  selectNodes(selectedNodes)\n",
              "}</script>\n",
              "            <style>.vis-overlay{bottom:0;left:0;position:absolute;right:0;top:0;z-index:10}.vis-active{box-shadow:0 0 10px #86d5f8}.vis [class*=span]{min-height:0;width:auto}div.vis-color-picker{background-color:#fff;border-radius:15px;box-shadow:0 0 10px 0 rgba(0,0,0,.5);display:none;height:444px;left:30px;margin-left:30px;margin-top:-140px;padding:10px;position:absolute;top:0;width:310px;z-index:1}div.vis-color-picker div.vis-arrow{left:5px;position:absolute;top:147px}div.vis-color-picker div.vis-arrow:after,div.vis-color-picker div.vis-arrow:before{border:solid transparent;content:\" \";height:0;pointer-events:none;position:absolute;right:100%;top:50%;width:0}div.vis-color-picker div.vis-arrow:after{border-color:hsla(0,0%,100%,0) #fff hsla(0,0%,100%,0) hsla(0,0%,100%,0);border-width:30px;margin-top:-30px}div.vis-color-picker div.vis-color{cursor:pointer;height:289px;position:absolute;width:289px}div.vis-color-picker div.vis-brightness{position:absolute;top:313px}div.vis-color-picker div.vis-opacity{position:absolute;top:350px}div.vis-color-picker div.vis-selector{background:#4c4c4c;background:-moz-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#4c4c4c),color-stop(12%,#595959),color-stop(25%,#666),color-stop(39%,#474747),color-stop(50%,#2c2c2c),color-stop(51%,#000),color-stop(60%,#111),color-stop(76%,#2b2b2b),color-stop(91%,#1c1c1c),color-stop(100%,#131313));background:-webkit-linear-gradient(top,#4c4c4c,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313);background:-o-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:-ms-linear-gradient(top,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313 100%);background:linear-gradient(180deg,#4c4c4c 0,#595959 12%,#666 25%,#474747 39%,#2c2c2c 50%,#000 51%,#111 60%,#2b2b2b 76%,#1c1c1c 91%,#131313);border:1px solid #fff;border-radius:15px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#4c4c4c\",endColorstr=\"#131313\",GradientType=0);height:15px;left:137px;position:absolute;top:137px;width:15px}div.vis-color-picker div.vis-new-color{left:159px;padding-right:2px;text-align:right}div.vis-color-picker div.vis-initial-color,div.vis-color-picker div.vis-new-color{border:1px solid rgba(0,0,0,.1);border-radius:5px;color:rgba(0,0,0,.4);font-size:10px;height:20px;line-height:20px;position:absolute;top:380px;vertical-align:middle;width:140px}div.vis-color-picker div.vis-initial-color{left:10px;padding-left:2px;text-align:left}div.vis-color-picker div.vis-label{left:10px;position:absolute;width:300px}div.vis-color-picker div.vis-label.vis-brightness{top:300px}div.vis-color-picker div.vis-label.vis-opacity{top:338px}div.vis-color-picker div.vis-button{background-color:#f7f7f7;border:2px solid #d9d9d9;border-radius:10px;cursor:pointer;height:25px;line-height:25px;position:absolute;text-align:center;top:410px;vertical-align:middle;width:68px}div.vis-color-picker div.vis-button.vis-cancel{left:5px}div.vis-color-picker div.vis-button.vis-load{left:82px}div.vis-color-picker div.vis-button.vis-apply{left:159px}div.vis-color-picker div.vis-button.vis-save{left:236px}div.vis-color-picker input.vis-range{height:20px;width:290px}div.vis-configuration{display:block;float:left;font-size:12px;position:relative}div.vis-configuration-wrapper{display:block;width:700px}div.vis-configuration-wrapper:after{clear:both;content:\"\";display:block}div.vis-configuration.vis-config-option-container{background-color:#fff;border:2px solid #f7f8fa;border-radius:4px;display:block;left:10px;margin-top:20px;padding-left:5px;width:495px}div.vis-configuration.vis-config-button{background-color:#f7f8fa;border:2px solid #ceced0;border-radius:4px;cursor:pointer;display:block;height:25px;left:10px;line-height:25px;margin-bottom:30px;margin-top:20px;padding-left:5px;vertical-align:middle;width:495px}div.vis-configuration.vis-config-button.hover{background-color:#4588e6;border:2px solid #214373;color:#fff}div.vis-configuration.vis-config-item{display:block;float:left;height:25px;line-height:25px;vertical-align:middle;width:495px}div.vis-configuration.vis-config-item.vis-config-s2{background-color:#f7f8fa;border-radius:3px;left:10px;padding-left:5px}div.vis-configuration.vis-config-item.vis-config-s3{background-color:#e4e9f0;border-radius:3px;left:20px;padding-left:5px}div.vis-configuration.vis-config-item.vis-config-s4{background-color:#cfd8e6;border-radius:3px;left:30px;padding-left:5px}div.vis-configuration.vis-config-header{font-size:18px;font-weight:700}div.vis-configuration.vis-config-label{height:25px;line-height:25px;width:120px}div.vis-configuration.vis-config-label.vis-config-s3{width:110px}div.vis-configuration.vis-config-label.vis-config-s4{width:100px}div.vis-configuration.vis-config-colorBlock{border:1px solid #444;border-radius:2px;cursor:pointer;height:19px;margin:0;padding:0;top:1px;width:30px}input.vis-configuration.vis-config-checkbox{left:-5px}input.vis-configuration.vis-config-rangeinput{margin:0;padding:1px;pointer-events:none;position:relative;top:-5px;width:60px}input.vis-configuration.vis-config-range{-webkit-appearance:none;background-color:transparent;border:0 solid #fff;height:20px;width:300px}input.vis-configuration.vis-config-range::-webkit-slider-runnable-track{background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(180deg,#dedede 0,#c8c8c8 99%);border:1px solid #999;border-radius:3px;box-shadow:0 0 3px 0 #aaa;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#dedede\",endColorstr=\"#c8c8c8\",GradientType=0);height:5px;width:300px}input.vis-configuration.vis-config-range::-webkit-slider-thumb{-webkit-appearance:none;background:#3876c2;background:-moz-linear-gradient(top,#3876c2 0,#385380 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#3876c2),color-stop(100%,#385380));background:-webkit-linear-gradient(top,#3876c2,#385380);background:-o-linear-gradient(top,#3876c2 0,#385380 100%);background:-ms-linear-gradient(top,#3876c2 0,#385380 100%);background:linear-gradient(180deg,#3876c2 0,#385380);border:1px solid #14334b;border-radius:50%;box-shadow:0 0 1px 0 #111927;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#3876c2\",endColorstr=\"#385380\",GradientType=0);height:17px;margin-top:-7px;width:17px}input.vis-configuration.vis-config-range:focus{outline:none}input.vis-configuration.vis-config-range:focus::-webkit-slider-runnable-track{background:#9d9d9d;background:-moz-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#9d9d9d),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#9d9d9d,#c8c8c8 99%);background:-o-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#9d9d9d 0,#c8c8c8 99%);background:linear-gradient(180deg,#9d9d9d 0,#c8c8c8 99%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#9d9d9d\",endColorstr=\"#c8c8c8\",GradientType=0)}input.vis-configuration.vis-config-range::-moz-range-track{background:#dedede;background:-moz-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#dedede),color-stop(99%,#c8c8c8));background:-webkit-linear-gradient(top,#dedede,#c8c8c8 99%);background:-o-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:-ms-linear-gradient(top,#dedede 0,#c8c8c8 99%);background:linear-gradient(180deg,#dedede 0,#c8c8c8 99%);border:1px solid #999;border-radius:3px;box-shadow:0 0 3px 0 #aaa;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#dedede\",endColorstr=\"#c8c8c8\",GradientType=0);height:10px;width:300px}input.vis-configuration.vis-config-range::-moz-range-thumb{background:#385380;border:none;border-radius:50%;height:16px;width:16px}input.vis-configuration.vis-config-range:-moz-focusring{outline:1px solid #fff;outline-offset:-1px}input.vis-configuration.vis-config-range::-ms-track{background:transparent;border-color:transparent;border-width:6px 0;color:transparent;height:5px;width:300px}input.vis-configuration.vis-config-range::-ms-fill-lower{background:#777;border-radius:10px}input.vis-configuration.vis-config-range::-ms-fill-upper{background:#ddd;border-radius:10px}input.vis-configuration.vis-config-range::-ms-thumb{background:#385380;border:none;border-radius:50%;height:16px;width:16px}input.vis-configuration.vis-config-range:focus::-ms-fill-lower{background:#888}input.vis-configuration.vis-config-range:focus::-ms-fill-upper{background:#ccc}.vis-configuration-popup{background:rgba(57,76,89,.85);border:2px solid #f2faff;border-radius:4px;color:#fff;font-size:14px;height:30px;line-height:30px;position:absolute;text-align:center;-webkit-transition:opacity .3s ease-in-out;-moz-transition:opacity .3s ease-in-out;transition:opacity .3s ease-in-out;width:150px}.vis-configuration-popup:after,.vis-configuration-popup:before{border:solid transparent;content:\" \";height:0;left:100%;pointer-events:none;position:absolute;top:50%;width:0}.vis-configuration-popup:after{border-color:rgba(136,183,213,0) rgba(136,183,213,0) rgba(136,183,213,0) rgba(57,76,89,.85);border-width:8px;margin-top:-8px}.vis-configuration-popup:before{border-color:rgba(194,225,245,0) rgba(194,225,245,0) rgba(194,225,245,0) #f2faff;border-width:12px;margin-top:-12px}div.vis-tooltip{background-color:#f5f4ed;border:1px solid #808074;-moz-border-radius:3px;-webkit-border-radius:3px;border-radius:3px;box-shadow:3px 3px 10px rgba(0,0,0,.2);color:#000;font-family:verdana;font-size:14px;padding:5px;pointer-events:none;position:absolute;visibility:hidden;white-space:nowrap;z-index:5}div.vis-network div.vis-navigation div.vis-button{-webkit-touch-callout:none;background-position:2px 2px;background-repeat:no-repeat;-moz-border-radius:17px;border-radius:17px;cursor:pointer;display:inline-block;height:34px;position:absolute;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:34px}div.vis-network div.vis-navigation div.vis-button:hover{box-shadow:0 0 3px 3px rgba(56,207,21,.3)}div.vis-network div.vis-navigation div.vis-button:active{box-shadow:0 0 1px 3px rgba(56,207,21,.95)}div.vis-network div.vis-navigation div.vis-button.vis-up{background-image:url(\"\");bottom:50px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-down{background-image:url(\"\");bottom:10px;left:55px}div.vis-network div.vis-navigation div.vis-button.vis-left{background-image:url(\"\");bottom:10px;left:15px}div.vis-network div.vis-navigation div.vis-button.vis-right{background-image:url(\"\");bottom:10px;left:95px}div.vis-network div.vis-navigation div.vis-button.vis-zoomIn{background-image:url(\"\");bottom:10px;right:15px}div.vis-network div.vis-navigation div.vis-button.vis-zoomOut{background-image:url(\"\");bottom:10px;right:55px}div.vis-network div.vis-navigation div.vis-button.vis-zoomExtends{background-image:url(\"\");bottom:50px;right:15px}div.vis-network div.vis-manipulation{background:#fff;background:-moz-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-webkit-gradient(linear,left top,left bottom,color-stop(0,#fff),color-stop(48%,#fcfcfc),color-stop(50%,#fafafa),color-stop(100%,#fcfcfc));background:-webkit-linear-gradient(top,#fff,#fcfcfc 48%,#fafafa 50%,#fcfcfc);background:-o-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:-ms-linear-gradient(top,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc 100%);background:linear-gradient(180deg,#fff 0,#fcfcfc 48%,#fafafa 50%,#fcfcfc);border:0 solid #d6d9d8;border-bottom:1px;box-sizing:content-box;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=\"#ffffff\",endColorstr=\"#fcfcfc\",GradientType=0);height:28px;left:0;padding-top:4px;position:absolute;top:0;width:100%}div.vis-network button.vis-edit-mode,div.vis-network div.vis-edit-mode{height:30px;left:0;position:absolute;top:5px}div.vis-network button.vis-close{-webkit-touch-callout:none;background-color:transparent;background-image:url(\"\");background-position:20px 3px;background-repeat:no-repeat;border:none;cursor:pointer;height:30px;position:absolute;right:0;top:0;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:30px}div.vis-network button.vis-close:hover{opacity:.6}div.vis-network div.vis-edit-mode button.vis-button,div.vis-network div.vis-manipulation button.vis-button{-webkit-touch-callout:none;background-color:transparent;background-position:0 0;background-repeat:no-repeat;border:none;-moz-border-radius:15px;border-radius:15px;box-sizing:content-box;cursor:pointer;float:left;font-family:verdana;font-size:12px;height:24px;margin-left:10px;padding:0 8px;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}div.vis-network div.vis-manipulation button.vis-button:hover{box-shadow:1px 1px 8px rgba(0,0,0,.2)}div.vis-network div.vis-manipulation button.vis-button:active{box-shadow:1px 1px 8px rgba(0,0,0,.5)}div.vis-network div.vis-manipulation button.vis-button.vis-back{background-image:url(\"\")}div.vis-network div.vis-manipulation div.vis-none:hover{box-shadow:1px 1px 8px transparent;cursor:default}div.vis-network div.vis-manipulation div.vis-none:active{box-shadow:1px 1px 8px transparent}div.vis-network div.vis-manipulation div.vis-none{line-height:23px;padding:0}div.vis-network div.vis-manipulation div.notification{font-weight:700;margin:2px}div.vis-network div.vis-manipulation button.vis-button.vis-add{background-image:url(\"\")}div.vis-network div.vis-edit-mode button.vis-button.vis-edit,div.vis-network div.vis-manipulation button.vis-button.vis-edit{background-image:url(\"\")}div.vis-network div.vis-edit-mode button.vis-button.vis-edit.vis-edit-mode{background-color:#fcfcfc;border:1px solid #ccc}div.vis-network div.vis-manipulation button.vis-button.vis-connect{background-image:url(\"\")}div.vis-network div.vis-manipulation button.vis-button.vis-delete{background-image:url(\"\")}div.vis-network div.vis-edit-mode div.vis-label,div.vis-network div.vis-manipulation div.vis-label{line-height:25px;margin:0 0 0 23px}div.vis-network div.vis-manipulation div.vis-separator-line{background-color:#bdbdbd;display:inline-block;float:left;height:21px;margin:0 7px 0 15px;width:1px}</style>\n",
              "            <script>/**\n",
              " * vis-network\n",
              " * https://visjs.github.io/vis-network/\n",
              " *\n",
              " * A dynamic, browser-based visualization library.\n",
              " *\n",
              " * @version 9.1.2\n",
              " * @date    2022-03-28T20:17:35.342Z\n",
              " *\n",
              " * @copyright (c) 2011-2017 Almende B.V, http://almende.com\n",
              " * @copyright (c) 2017-2019 visjs contributors, https://github.com/visjs\n",
              " *\n",
              " * @license\n",
              " * vis.js is dual licensed under both\n",
              " *\n",
              " *   1. The Apache 2.0 License\n",
              " *      http://www.apache.org/licenses/LICENSE-2.0\n",
              " *\n",
              " *   and\n",
              " *\n",
              " *   2. The MIT License\n",
              " *      http://opensource.org/licenses/MIT\n",
              " *\n",
              " * vis.js may be distributed under either license.\n",
              " */\n",
              "!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?e(exports):\"function\"==typeof define&&define.amd?define([\"exports\"],e):e((t=\"undefined\"!=typeof globalThis?globalThis:t||self).vis=t.vis||{})}(this,(function(t){\"use strict\";var e=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},i=function(t){return t&&t.Math==Math&&t},n=i(\"object\"==typeof globalThis&&globalThis)||i(\"object\"==typeof window&&window)||i(\"object\"==typeof self&&self)||i(\"object\"==typeof e&&e)||function(){return this}()||Function(\"return this\")(),o=function(t){try{return!!t()}catch(t){return!0}},r=!o((function(){var t=function(){}.bind();return\"function\"!=typeof t||t.hasOwnProperty(\"prototype\")})),s=r,a=Function.prototype,h=a.apply,l=a.call,d=\"object\"==typeof Reflect&&Reflect.apply||(s?l.bind(h):function(){return l.apply(h,arguments)}),c=r,u=Function.prototype,f=u.bind,p=u.call,v=c&&f.bind(p,p),g=c?function(t){return t&&v(t)}:function(t){return t&&function(){return p.apply(t,arguments)}},y=function(t){return\"function\"==typeof t},m={},b=!o((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),w=r,k=Function.prototype.call,_=w?k.bind(k):function(){return k.apply(k,arguments)},x={},E={}.propertyIsEnumerable,O=Object.getOwnPropertyDescriptor,C=O&&!E.call({1:2},1);x.f=C?function(t){var e=O(this,t);return!!e&&e.enumerable}:E;var S,T,M=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},P=g,D=P({}.toString),I=P(\"\".slice),B=function(t){return I(D(t),8,-1)},z=g,N=o,F=B,A=n.Object,j=z(\"\".split),R=N((function(){return!A(\"z\").propertyIsEnumerable(0)}))?function(t){return\"String\"==F(t)?j(t,\"\"):A(t)}:A,L=n.TypeError,H=function(t){if(null==t)throw L(\"Can't call method on \"+t);return t},W=R,q=H,V=function(t){return W(q(t))},U=y,Y=function(t){return\"object\"==typeof t?null!==t:U(t)},X={},G=X,K=n,$=y,Z=function(t){return $(t)?t:void 0},Q=function(t,e){return arguments.length<2?Z(G[t])||Z(K[t]):G[t]&&G[t][e]||K[t]&&K[t][e]},J=g({}.isPrototypeOf),tt=Q(\"navigator\",\"userAgent\")||\"\",et=n,it=tt,nt=et.process,ot=et.Deno,rt=nt&&nt.versions||ot&&ot.version,st=rt&&rt.v8;st&&(T=(S=st.split(\".\"))[0]>0&&S[0]<4?1:+(S[0]+S[1])),!T&&it&&(!(S=it.match(/Edge\\/(\\d+)/))||S[1]>=74)&&(S=it.match(/Chrome\\/(\\d+)/))&&(T=+S[1]);var at=T,ht=at,lt=o,dt=!!Object.getOwnPropertySymbols&&!lt((function(){var t=Symbol();return!String(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&ht&&ht<41})),ct=dt&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator,ut=Q,ft=y,pt=J,vt=ct,gt=n.Object,yt=vt?function(t){return\"symbol\"==typeof t}:function(t){var e=ut(\"Symbol\");return ft(e)&&pt(e.prototype,gt(t))},mt=n.String,bt=function(t){try{return mt(t)}catch(t){return\"Object\"}},wt=y,kt=bt,_t=n.TypeError,xt=function(t){if(wt(t))return t;throw _t(kt(t)+\" is not a function\")},Et=xt,Ot=function(t,e){var i=t[e];return null==i?void 0:Et(i)},Ct=_,St=y,Tt=Y,Mt=n.TypeError,Pt={exports:{}},Dt=n,It=Object.defineProperty,Bt=function(t,e){try{It(Dt,t,{value:e,configurable:!0,writable:!0})}catch(i){Dt[t]=e}return e},zt=\"__core-js_shared__\",Nt=n[zt]||Bt(zt,{}),Ft=Nt;(Pt.exports=function(t,e){return Ft[t]||(Ft[t]=void 0!==e?e:{})})(\"versions\",[]).push({version:\"3.21.1\",mode:\"pure\",copyright:\"© 2014-2022 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.21.1/LICENSE\",source:\"https://github.com/zloirock/core-js\"});var At=H,jt=n.Object,Rt=function(t){return jt(At(t))},Lt=Rt,Ht=g({}.hasOwnProperty),Wt=Object.hasOwn||function(t,e){return Ht(Lt(t),e)},qt=g,Vt=0,Ut=Math.random(),Yt=qt(1..toString),Xt=function(t){return\"Symbol(\"+(void 0===t?\"\":t)+\")_\"+Yt(++Vt+Ut,36)},Gt=n,Kt=Pt.exports,$t=Wt,Zt=Xt,Qt=dt,Jt=ct,te=Kt(\"wks\"),ee=Gt.Symbol,ie=ee&&ee.for,ne=Jt?ee:ee&&ee.withoutSetter||Zt,oe=function(t){if(!$t(te,t)||!Qt&&\"string\"!=typeof te[t]){var e=\"Symbol.\"+t;Qt&&$t(ee,t)?te[t]=ee[t]:te[t]=Jt&&ie?ie(e):ne(e)}return te[t]},re=_,se=Y,ae=yt,he=Ot,le=function(t,e){var i,n;if(\"string\"===e&&St(i=t.toString)&&!Tt(n=Ct(i,t)))return n;if(St(i=t.valueOf)&&!Tt(n=Ct(i,t)))return n;if(\"string\"!==e&&St(i=t.toString)&&!Tt(n=Ct(i,t)))return n;throw Mt(\"Can't convert object to primitive value\")},de=oe,ce=n.TypeError,ue=de(\"toPrimitive\"),fe=function(t,e){if(!se(t)||ae(t))return t;var i,n=he(t,ue);if(n){if(void 0===e&&(e=\"default\"),i=re(n,t,e),!se(i)||ae(i))return i;throw ce(\"Can't convert object to primitive value\")}return void 0===e&&(e=\"number\"),le(t,e)},pe=yt,ve=function(t){var e=fe(t,\"string\");return pe(e)?e:e+\"\"},ge=Y,ye=n.document,me=ge(ye)&&ge(ye.createElement),be=function(t){return me?ye.createElement(t):{}},we=be,ke=!b&&!o((function(){return 7!=Object.defineProperty(we(\"div\"),\"a\",{get:function(){return 7}}).a})),_e=b,xe=_,Ee=x,Oe=M,Ce=V,Se=ve,Te=Wt,Me=ke,Pe=Object.getOwnPropertyDescriptor;m.f=_e?Pe:function(t,e){if(t=Ce(t),e=Se(e),Me)try{return Pe(t,e)}catch(t){}if(Te(t,e))return Oe(!xe(Ee.f,t,e),t[e])};var De=o,Ie=y,Be=/#|\\.prototype\\./,ze=function(t,e){var i=Fe[Ne(t)];return i==je||i!=Ae&&(Ie(e)?De(e):!!e)},Ne=ze.normalize=function(t){return String(t).replace(Be,\".\").toLowerCase()},Fe=ze.data={},Ae=ze.NATIVE=\"N\",je=ze.POLYFILL=\"P\",Re=ze,Le=xt,He=r,We=g(g.bind),qe=function(t,e){return Le(t),void 0===e?t:He?We(t,e):function(){return t.apply(e,arguments)}},Ve={},Ue=b&&o((function(){return 42!=Object.defineProperty((function(){}),\"prototype\",{value:42,writable:!1}).prototype})),Ye=n,Xe=Y,Ge=Ye.String,Ke=Ye.TypeError,$e=function(t){if(Xe(t))return t;throw Ke(Ge(t)+\" is not an object\")},Ze=b,Qe=ke,Je=Ue,ti=$e,ei=ve,ii=n.TypeError,ni=Object.defineProperty,oi=Object.getOwnPropertyDescriptor,ri=\"enumerable\",si=\"configurable\",ai=\"writable\";Ve.f=Ze?Je?function(t,e,i){if(ti(t),e=ei(e),ti(i),\"function\"==typeof t&&\"prototype\"===e&&\"value\"in i&&ai in i&&!i.writable){var n=oi(t,e);n&&n.writable&&(t[e]=i.value,i={configurable:si in i?i.configurable:n.configurable,enumerable:ri in i?i.enumerable:n.enumerable,writable:!1})}return ni(t,e,i)}:ni:function(t,e,i){if(ti(t),e=ei(e),ti(i),Qe)try{return ni(t,e,i)}catch(t){}if(\"get\"in i||\"set\"in i)throw ii(\"Accessors not supported\");return\"value\"in i&&(t[e]=i.value),t};var hi=Ve,li=M,di=b?function(t,e,i){return hi.f(t,e,li(1,i))}:function(t,e,i){return t[e]=i,t},ci=n,ui=d,fi=g,pi=y,vi=m.f,gi=Re,yi=X,mi=qe,bi=di,wi=Wt,ki=function(t){var e=function(i,n,o){if(this instanceof e){switch(arguments.length){case 0:return new t;case 1:return new t(i);case 2:return new t(i,n)}return new t(i,n,o)}return ui(t,this,arguments)};return e.prototype=t.prototype,e},_i=function(t,e){var i,n,o,r,s,a,h,l,d=t.target,c=t.global,u=t.stat,f=t.proto,p=c?ci:u?ci[d]:(ci[d]||{}).prototype,v=c?yi:yi[d]||bi(yi,d,{})[d],g=v.prototype;for(o in e)i=!gi(c?o:d+(u?\".\":\"#\")+o,t.forced)&&p&&wi(p,o),s=v[o],i&&(a=t.noTargetGet?(l=vi(p,o))&&l.value:p[o]),r=i&&a?a:e[o],i&&typeof s==typeof r||(h=t.bind&&i?mi(r,ci):t.wrap&&i?ki(r):f&&pi(r)?fi(r):r,(t.sham||r&&r.sham||s&&s.sham)&&bi(h,\"sham\",!0),bi(v,o,h),f&&(wi(yi,n=d+\"Prototype\")||bi(yi,n,{}),bi(yi[n],o,r),t.real&&g&&!g[o]&&bi(g,o,r)))},xi=Math.ceil,Ei=Math.floor,Oi=function(t){var e=+t;return e!=e||0===e?0:(e>0?Ei:xi)(e)},Ci=Oi,Si=Math.max,Ti=Math.min,Mi=function(t,e){var i=Ci(t);return i<0?Si(i+e,0):Ti(i,e)},Pi=Oi,Di=Math.min,Ii=function(t){return t>0?Di(Pi(t),9007199254740991):0},Bi=function(t){return Ii(t.length)},zi=V,Ni=Mi,Fi=Bi,Ai=function(t){return function(e,i,n){var o,r=zi(e),s=Fi(r),a=Ni(n,s);if(t&&i!=i){for(;s>a;)if((o=r[a++])!=o)return!0}else for(;s>a;a++)if((t||a in r)&&r[a]===i)return t||a||0;return!t&&-1}},ji={includes:Ai(!0),indexOf:Ai(!1)},Ri={},Li=Wt,Hi=V,Wi=ji.indexOf,qi=Ri,Vi=g([].push),Ui=function(t,e){var i,n=Hi(t),o=0,r=[];for(i in n)!Li(qi,i)&&Li(n,i)&&Vi(r,i);for(;e.length>o;)Li(n,i=e[o++])&&(~Wi(r,i)||Vi(r,i));return r},Yi=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"],Xi=Ui,Gi=Yi,Ki=Object.keys||function(t){return Xi(t,Gi)},$i={};$i.f=Object.getOwnPropertySymbols;var Zi=b,Qi=g,Ji=_,tn=o,en=Ki,nn=$i,on=x,rn=Rt,sn=R,an=Object.assign,hn=Object.defineProperty,ln=Qi([].concat),dn=!an||tn((function(){if(Zi&&1!==an({b:1},an(hn({},\"a\",{enumerable:!0,get:function(){hn(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},i=Symbol(),n=\"abcdefghijklmnopqrst\";return t[i]=7,n.split(\"\").forEach((function(t){e[t]=t})),7!=an({},t)[i]||en(an({},e)).join(\"\")!=n}))?function(t,e){for(var i=rn(t),n=arguments.length,o=1,r=nn.f,s=on.f;n>o;)for(var a,h=sn(arguments[o++]),l=r?ln(en(h),r(h)):en(h),d=l.length,c=0;d>c;)a=l[c++],Zi&&!Ji(s,h,a)||(i[a]=h[a]);return i}:an,cn=dn;_i({target:\"Object\",stat:!0,forced:Object.assign!==cn},{assign:cn});var un=X.Object.assign,fn=g([].slice),pn=g,vn=xt,gn=Y,yn=Wt,mn=fn,bn=r,wn=n.Function,kn=pn([].concat),_n=pn([].join),xn={},En=function(t,e,i){if(!yn(xn,e)){for(var n=[],o=0;o<e;o++)n[o]=\"a[\"+o+\"]\";xn[e]=wn(\"C,a\",\"return new C(\"+_n(n,\",\")+\")\")}return xn[e](t,i)},On=bn?wn.bind:function(t){var e=vn(this),i=e.prototype,n=mn(arguments,1),o=function(){var i=kn(n,mn(arguments));return this instanceof o?En(e,i.length,i):e.apply(t,i)};return gn(i)&&(o.prototype=i),o},Cn=On;_i({target:\"Function\",proto:!0,forced:Function.bind!==Cn},{bind:Cn});var Sn=X,Tn=function(t){return Sn[t+\"Prototype\"]},Mn=Tn(\"Function\").bind,Pn=J,Dn=Mn,In=Function.prototype,Bn=function(t){var e=t.bind;return t===In||Pn(In,t)&&e===In.bind?Dn:e},zn=Bn;function Nn(t,e,i,n){t.beginPath(),t.arc(e,i,n,0,2*Math.PI,!1),t.closePath()}function Fn(t,e,i,n,o,r){var s=Math.PI/180;n-2*r<0&&(r=n/2),o-2*r<0&&(r=o/2),t.beginPath(),t.moveTo(e+r,i),t.lineTo(e+n-r,i),t.arc(e+n-r,i+r,r,270*s,360*s,!1),t.lineTo(e+n,i+o-r),t.arc(e+n-r,i+o-r,r,0,90*s,!1),t.lineTo(e+r,i+o),t.arc(e+r,i+o-r,r,90*s,180*s,!1),t.lineTo(e,i+r),t.arc(e+r,i+r,r,180*s,270*s,!1),t.closePath()}function An(t,e,i,n,o){var r=.5522848,s=n/2*r,a=o/2*r,h=e+n,l=i+o,d=e+n/2,c=i+o/2;t.beginPath(),t.moveTo(e,c),t.bezierCurveTo(e,c-a,d-s,i,d,i),t.bezierCurveTo(d+s,i,h,c-a,h,c),t.bezierCurveTo(h,c+a,d+s,l,d,l),t.bezierCurveTo(d-s,l,e,c+a,e,c),t.closePath()}function jn(t,e,i,n,o){var r=o*(1/3),s=.5522848,a=n/2*s,h=r/2*s,l=e+n,d=i+r,c=e+n/2,u=i+r/2,f=i+(o-r/2),p=i+o;t.beginPath(),t.moveTo(l,u),t.bezierCurveTo(l,u+h,c+a,d,c,d),t.bezierCurveTo(c-a,d,e,u+h,e,u),t.bezierCurveTo(e,u-h,c-a,i,c,i),t.bezierCurveTo(c+a,i,l,u-h,l,u),t.lineTo(l,f),t.bezierCurveTo(l,f+h,c+a,p,c,p),t.bezierCurveTo(c-a,p,e,f+h,e,f),t.lineTo(e,u)}function Rn(t,e,i,n,o,r){t.beginPath(),t.moveTo(e,i);for(var s=r.length,a=n-e,h=o-i,l=h/a,d=Math.sqrt(a*a+h*h),c=0,u=!0,f=0,p=+r[0];d>=.1;)(p=+r[c++%s])>d&&(p=d),f=Math.sqrt(p*p/(1+l*l)),e+=f=a<0?-f:f,i+=l*f,!0===u?t.lineTo(e,i):t.moveTo(e,i),d-=p,u=!u}var Ln={circle:Nn,dashedLine:Rn,database:jn,diamond:function(t,e,i,n){t.beginPath(),t.lineTo(e,i+n),t.lineTo(e+n,i),t.lineTo(e,i-n),t.lineTo(e-n,i),t.closePath()},ellipse:An,ellipse_vis:An,hexagon:function(t,e,i,n){t.beginPath();var o=2*Math.PI/6;t.moveTo(e+n,i);for(var r=1;r<6;r++)t.lineTo(e+n*Math.cos(o*r),i+n*Math.sin(o*r));t.closePath()},roundRect:Fn,square:function(t,e,i,n){t.beginPath(),t.rect(e-n,i-n,2*n,2*n),t.closePath()},star:function(t,e,i,n){t.beginPath(),i+=.1*(n*=.82);for(var o=0;o<10;o++){var r=o%2==0?1.3*n:.5*n;t.lineTo(e+r*Math.sin(2*o*Math.PI/10),i-r*Math.cos(2*o*Math.PI/10))}t.closePath()},triangle:function(t,e,i,n){t.beginPath(),i+=.275*(n*=1.15);var o=2*n,r=o/2,s=Math.sqrt(3)/6*o,a=Math.sqrt(o*o-r*r);t.moveTo(e,i-(a-s)),t.lineTo(e+r,i+s),t.lineTo(e-r,i+s),t.lineTo(e,i-(a-s)),t.closePath()},triangleDown:function(t,e,i,n){t.beginPath(),i-=.275*(n*=1.15);var o=2*n,r=o/2,s=Math.sqrt(3)/6*o,a=Math.sqrt(o*o-r*r);t.moveTo(e,i+(a-s)),t.lineTo(e+r,i-s),t.lineTo(e-r,i-s),t.lineTo(e,i+(a-s)),t.closePath()}};var Hn={exports:{}};!function(t){function e(t){if(t)return function(t){for(var i in e.prototype)t[i]=e.prototype[i];return t}(t)}t.exports=e,e.prototype.on=e.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks[\"$\"+t]=this._callbacks[\"$\"+t]||[]).push(e),this},e.prototype.once=function(t,e){function i(){this.off(t,i),e.apply(this,arguments)}return i.fn=e,this.on(t,i),this},e.prototype.off=e.prototype.removeListener=e.prototype.removeAllListeners=e.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var i,n=this._callbacks[\"$\"+t];if(!n)return this;if(1==arguments.length)return delete this._callbacks[\"$\"+t],this;for(var o=0;o<n.length;o++)if((i=n[o])===e||i.fn===e){n.splice(o,1);break}return 0===n.length&&delete this._callbacks[\"$\"+t],this},e.prototype.emit=function(t){this._callbacks=this._callbacks||{};for(var e=new Array(arguments.length-1),i=this._callbacks[\"$\"+t],n=1;n<arguments.length;n++)e[n-1]=arguments[n];if(i){n=0;for(var o=(i=i.slice(0)).length;n<o;++n)i[n].apply(this,e)}return this},e.prototype.listeners=function(t){return this._callbacks=this._callbacks||{},this._callbacks[\"$\"+t]||[]},e.prototype.hasListeners=function(t){return!!this.listeners(t).length}}(Hn);var Wn=Hn.exports,qn={};qn[oe(\"toStringTag\")]=\"z\";var Vn=\"[object z]\"===String(qn),Un=n,Yn=Vn,Xn=y,Gn=B,Kn=oe(\"toStringTag\"),$n=Un.Object,Zn=\"Arguments\"==Gn(function(){return arguments}()),Qn=Yn?Gn:function(t){var e,i,n;return void 0===t?\"Undefined\":null===t?\"Null\":\"string\"==typeof(i=function(t,e){try{return t[e]}catch(t){}}(e=$n(t),Kn))?i:Zn?Gn(e):\"Object\"==(n=Gn(e))&&Xn(e.callee)?\"Arguments\":n},Jn=Qn,to=n.String,eo=function(t){if(\"Symbol\"===Jn(t))throw TypeError(\"Cannot convert a Symbol value to a string\");return to(t)},io=g,no=Oi,oo=eo,ro=H,so=io(\"\".charAt),ao=io(\"\".charCodeAt),ho=io(\"\".slice),lo=function(t){return function(e,i){var n,o,r=oo(ro(e)),s=no(i),a=r.length;return s<0||s>=a?t?\"\":void 0:(n=ao(r,s))<55296||n>56319||s+1===a||(o=ao(r,s+1))<56320||o>57343?t?so(r,s):n:t?ho(r,s,s+2):o-56320+(n-55296<<10)+65536}},co={codeAt:lo(!1),charAt:lo(!0)},uo=y,fo=Nt,po=g(Function.toString);uo(fo.inspectSource)||(fo.inspectSource=function(t){return po(t)});var vo,go,yo,mo=fo.inspectSource,bo=y,wo=mo,ko=n.WeakMap,_o=bo(ko)&&/native code/.test(wo(ko)),xo=Pt.exports,Eo=Xt,Oo=xo(\"keys\"),Co=function(t){return Oo[t]||(Oo[t]=Eo(t))},So=_o,To=n,Mo=g,Po=Y,Do=di,Io=Wt,Bo=Nt,zo=Co,No=Ri,Fo=\"Object already initialized\",Ao=To.TypeError,jo=To.WeakMap;if(So||Bo.state){var Ro=Bo.state||(Bo.state=new jo),Lo=Mo(Ro.get),Ho=Mo(Ro.has),Wo=Mo(Ro.set);vo=function(t,e){if(Ho(Ro,t))throw new Ao(Fo);return e.facade=t,Wo(Ro,t,e),e},go=function(t){return Lo(Ro,t)||{}},yo=function(t){return Ho(Ro,t)}}else{var qo=zo(\"state\");No[qo]=!0,vo=function(t,e){if(Io(t,qo))throw new Ao(Fo);return e.facade=t,Do(t,qo,e),e},go=function(t){return Io(t,qo)?t[qo]:{}},yo=function(t){return Io(t,qo)}}var Vo={set:vo,get:go,has:yo,enforce:function(t){return yo(t)?go(t):vo(t,{})},getterFor:function(t){return function(e){var i;if(!Po(e)||(i=go(e)).type!==t)throw Ao(\"Incompatible receiver, \"+t+\" required\");return i}}},Uo=b,Yo=Wt,Xo=Function.prototype,Go=Uo&&Object.getOwnPropertyDescriptor,Ko=Yo(Xo,\"name\"),$o={EXISTS:Ko,PROPER:Ko&&\"something\"===function(){}.name,CONFIGURABLE:Ko&&(!Uo||Uo&&Go(Xo,\"name\").configurable)},Zo={},Qo=b,Jo=Ue,tr=Ve,er=$e,ir=V,nr=Ki;Zo.f=Qo&&!Jo?Object.defineProperties:function(t,e){er(t);for(var i,n=ir(e),o=nr(e),r=o.length,s=0;r>s;)tr.f(t,i=o[s++],n[i]);return t};var or,rr=Q(\"document\",\"documentElement\"),sr=$e,ar=Zo,hr=Yi,lr=Ri,dr=rr,cr=be,ur=Co(\"IE_PROTO\"),fr=function(){},pr=function(t){return\"<script>\"+t+\"</\"+\"script>\"},vr=function(t){t.write(pr(\"\")),t.close();var e=t.parentWindow.Object;return t=null,e},gr=function(){try{or=new ActiveXObject(\"htmlfile\")}catch(t){}var t,e;gr=\"undefined\"!=typeof document?document.domain&&or?vr(or):((e=cr(\"iframe\")).style.display=\"none\",dr.appendChild(e),e.src=String(\"javascript:\"),(t=e.contentWindow.document).open(),t.write(pr(\"document.F=Object\")),t.close(),t.F):vr(or);for(var i=hr.length;i--;)delete gr.prototype[hr[i]];return gr()};lr[ur]=!0;var yr,mr,br,wr=Object.create||function(t,e){var i;return null!==t?(fr.prototype=sr(t),i=new fr,fr.prototype=null,i[ur]=t):i=gr(),void 0===e?i:ar.f(i,e)},kr=!o((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype})),_r=n,xr=Wt,Er=y,Or=Rt,Cr=kr,Sr=Co(\"IE_PROTO\"),Tr=_r.Object,Mr=Tr.prototype,Pr=Cr?Tr.getPrototypeOf:function(t){var e=Or(t);if(xr(e,Sr))return e[Sr];var i=e.constructor;return Er(i)&&e instanceof i?i.prototype:e instanceof Tr?Mr:null},Dr=di,Ir=function(t,e,i,n){n&&n.enumerable?t[e]=i:Dr(t,e,i)},Br=o,zr=y,Nr=wr,Fr=Pr,Ar=Ir,jr=oe(\"iterator\"),Rr=!1;[].keys&&(\"next\"in(br=[].keys())?(mr=Fr(Fr(br)))!==Object.prototype&&(yr=mr):Rr=!0);var Lr=null==yr||Br((function(){var t={};return yr[jr].call(t)!==t}));zr((yr=Lr?{}:Nr(yr))[jr])||Ar(yr,jr,(function(){return this}));var Hr={IteratorPrototype:yr,BUGGY_SAFARI_ITERATORS:Rr},Wr=Qn,qr=Vn?{}.toString:function(){return\"[object \"+Wr(this)+\"]\"},Vr=Vn,Ur=Ve.f,Yr=di,Xr=Wt,Gr=qr,Kr=oe(\"toStringTag\"),$r=function(t,e,i,n){if(t){var o=i?t:t.prototype;Xr(o,Kr)||Ur(o,Kr,{configurable:!0,value:e}),n&&!Vr&&Yr(o,\"toString\",Gr)}},Zr={},Qr=Hr.IteratorPrototype,Jr=wr,ts=M,es=$r,is=Zr,ns=function(){return this},os=n,rs=y,ss=os.String,as=os.TypeError,hs=g,ls=$e,ds=function(t){if(\"object\"==typeof t||rs(t))return t;throw as(\"Can't set \"+ss(t)+\" as a prototype\")},cs=Object.setPrototypeOf||(\"__proto__\"in{}?function(){var t,e=!1,i={};try{(t=hs(Object.getOwnPropertyDescriptor(Object.prototype,\"__proto__\").set))(i,[]),e=i instanceof Array}catch(t){}return function(i,n){return ls(i),ds(n),e?t(i,n):i.__proto__=n,i}}():void 0),us=_i,fs=_,ps=function(t,e,i,n){var o=e+\" Iterator\";return t.prototype=Jr(Qr,{next:ts(+!n,i)}),es(t,o,!1,!0),is[o]=ns,t},vs=Pr,gs=$r,ys=Ir,ms=Zr,bs=$o.PROPER,ws=Hr.BUGGY_SAFARI_ITERATORS,ks=oe(\"iterator\"),_s=\"keys\",xs=\"values\",Es=\"entries\",Os=function(){return this},Cs=function(t,e,i,n,o,r,s){ps(i,e,n);var a,h,l,d=function(t){if(t===o&&v)return v;if(!ws&&t in f)return f[t];switch(t){case _s:case xs:case Es:return function(){return new i(this,t)}}return function(){return new i(this)}},c=e+\" Iterator\",u=!1,f=t.prototype,p=f[ks]||f[\"@@iterator\"]||o&&f[o],v=!ws&&p||d(o),g=\"Array\"==e&&f.entries||p;if(g&&(a=vs(g.call(new t)))!==Object.prototype&&a.next&&(gs(a,c,!0,!0),ms[c]=Os),bs&&o==xs&&p&&p.name!==xs&&(u=!0,v=function(){return fs(p,this)}),o)if(h={values:d(xs),keys:r?v:d(_s),entries:d(Es)},s)for(l in h)(ws||u||!(l in f))&&ys(f,l,h[l]);else us({target:e,proto:!0,forced:ws||u},h);return s&&f[ks]!==v&&ys(f,ks,v,{name:o}),ms[e]=v,h},Ss=co.charAt,Ts=eo,Ms=Vo,Ps=Cs,Ds=\"String Iterator\",Is=Ms.set,Bs=Ms.getterFor(Ds);Ps(String,\"String\",(function(t){Is(this,{type:Ds,string:Ts(t),index:0})}),(function(){var t,e=Bs(this),i=e.string,n=e.index;return n>=i.length?{value:void 0,done:!0}:(t=Ss(i,n),e.index+=t.length,{value:t,done:!1})}));var zs=_,Ns=$e,Fs=Ot,As=function(t,e,i){var n,o;Ns(t);try{if(!(n=Fs(t,\"return\"))){if(\"throw\"===e)throw i;return i}n=zs(n,t)}catch(t){o=!0,n=t}if(\"throw\"===e)throw i;if(o)throw n;return Ns(n),i},js=$e,Rs=As,Ls=Zr,Hs=oe(\"iterator\"),Ws=Array.prototype,qs=function(t){return void 0!==t&&(Ls.Array===t||Ws[Hs]===t)},Vs=g,Us=o,Ys=y,Xs=Qn,Gs=mo,Ks=function(){},$s=[],Zs=Q(\"Reflect\",\"construct\"),Qs=/^\\s*(?:class|function)\\b/,Js=Vs(Qs.exec),ta=!Qs.exec(Ks),ea=function(t){if(!Ys(t))return!1;try{return Zs(Ks,$s,t),!0}catch(t){return!1}},ia=function(t){if(!Ys(t))return!1;switch(Xs(t)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}try{return ta||!!Js(Qs,Gs(t))}catch(t){return!0}};ia.sham=!0;var na=!Zs||Us((function(){var t;return ea(ea.call)||!ea(Object)||!ea((function(){t=!0}))||t}))?ia:ea,oa=ve,ra=Ve,sa=M,aa=function(t,e,i){var n=oa(e);n in t?ra.f(t,n,sa(0,i)):t[n]=i},ha=Qn,la=Ot,da=Zr,ca=oe(\"iterator\"),ua=function(t){if(null!=t)return la(t,ca)||la(t,\"@@iterator\")||da[ha(t)]},fa=_,pa=xt,va=$e,ga=bt,ya=ua,ma=n.TypeError,ba=function(t,e){var i=arguments.length<2?ya(t):e;if(pa(i))return va(fa(i,t));throw ma(ga(t)+\" is not iterable\")},wa=qe,ka=_,_a=Rt,xa=function(t,e,i,n){try{return n?e(js(i)[0],i[1]):e(i)}catch(e){Rs(t,\"throw\",e)}},Ea=qs,Oa=na,Ca=Bi,Sa=aa,Ta=ba,Ma=ua,Pa=n.Array,Da=oe(\"iterator\"),Ia=!1;try{var Ba=0,za={next:function(){return{done:!!Ba++}},return:function(){Ia=!0}};za[Da]=function(){return this},Array.from(za,(function(){throw 2}))}catch(t){}var Na=function(t){var e=_a(t),i=Oa(this),n=arguments.length,o=n>1?arguments[1]:void 0,r=void 0!==o;r&&(o=wa(o,n>2?arguments[2]:void 0));var s,a,h,l,d,c,u=Ma(e),f=0;if(!u||this==Pa&&Ea(u))for(s=Ca(e),a=i?new this(s):Pa(s);s>f;f++)c=r?o(e[f],f):e[f],Sa(a,f,c);else for(d=(l=Ta(e,u)).next,a=i?new this:[];!(h=ka(d,l)).done;f++)c=r?xa(l,o,[h.value,f],!0):h.value,Sa(a,f,c);return a.length=f,a},Fa=function(t,e){if(!e&&!Ia)return!1;var i=!1;try{var n={};n[Da]=function(){return{next:function(){return{done:i=!0}}}},t(n)}catch(t){}return i};_i({target:\"Array\",stat:!0,forced:!Fa((function(t){Array.from(t)}))},{from:Na});var Aa=X.Array.from,ja=Aa,Ra=V,La=Zr,Ha=Vo;Ve.f;var Wa=Cs,qa=\"Array Iterator\",Va=Ha.set,Ua=Ha.getterFor(qa);Wa(Array,\"Array\",(function(t,e){Va(this,{type:qa,target:Ra(t),index:0,kind:e})}),(function(){var t=Ua(this),e=t.target,i=t.kind,n=t.index++;return!e||n>=e.length?(t.target=void 0,{value:void 0,done:!0}):\"keys\"==i?{value:n,done:!1}:\"values\"==i?{value:e[n],done:!1}:{value:[n,e[n]],done:!1}}),\"values\"),La.Arguments=La.Array;var Ya=ua,Xa={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Ga=n,Ka=Qn,$a=di,Za=Zr,Qa=oe(\"toStringTag\");for(var Ja in Xa){var th=Ga[Ja],eh=th&&th.prototype;eh&&Ka(eh)!==Qa&&$a(eh,Qa,Ja),Za[Ja]=Za.Array}var ih=Ya,nh=B,oh=Array.isArray||function(t){return\"Array\"==nh(t)},rh={},sh=Ui,ah=Yi.concat(\"length\",\"prototype\");rh.f=Object.getOwnPropertyNames||function(t){return sh(t,ah)};var hh={},lh=Mi,dh=Bi,ch=aa,uh=n.Array,fh=Math.max,ph=function(t,e,i){for(var n=dh(t),o=lh(e,n),r=lh(void 0===i?n:i,n),s=uh(fh(r-o,0)),a=0;o<r;o++,a++)ch(s,a,t[o]);return s.length=a,s},vh=B,gh=V,yh=rh.f,mh=ph,bh=\"object\"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[];hh.f=function(t){return bh&&\"Window\"==vh(t)?function(t){try{return yh(t)}catch(t){return mh(bh)}}(t):yh(gh(t))};var wh={},kh=oe;wh.f=kh;var _h=X,xh=Wt,Eh=wh,Oh=Ve.f,Ch=function(t){var e=_h.Symbol||(_h.Symbol={});xh(e,t)||Oh(e,t,{value:Eh.f(t)})},Sh=n,Th=oh,Mh=na,Ph=Y,Dh=oe(\"species\"),Ih=Sh.Array,Bh=function(t){var e;return Th(t)&&(e=t.constructor,(Mh(e)&&(e===Ih||Th(e.prototype))||Ph(e)&&null===(e=e[Dh]))&&(e=void 0)),void 0===e?Ih:e},zh=function(t,e){return new(Bh(t))(0===e?0:e)},Nh=qe,Fh=R,Ah=Rt,jh=Bi,Rh=zh,Lh=g([].push),Hh=function(t){var e=1==t,i=2==t,n=3==t,o=4==t,r=6==t,s=7==t,a=5==t||r;return function(h,l,d,c){for(var u,f,p=Ah(h),v=Fh(p),g=Nh(l,d),y=jh(v),m=0,b=c||Rh,w=e?b(h,y):i||s?b(h,0):void 0;y>m;m++)if((a||m in v)&&(f=g(u=v[m],m,p),t))if(e)w[m]=f;else if(f)switch(t){case 3:return!0;case 5:return u;case 6:return m;case 2:Lh(w,u)}else switch(t){case 4:return!1;case 7:Lh(w,u)}return r?-1:n||o?o:w}},Wh={forEach:Hh(0),map:Hh(1),filter:Hh(2),some:Hh(3),every:Hh(4),find:Hh(5),findIndex:Hh(6),filterReject:Hh(7)},qh=_i,Vh=n,Uh=Q,Yh=d,Xh=_,Gh=g,Kh=b,$h=dt,Zh=o,Qh=Wt,Jh=oh,tl=y,el=Y,il=J,nl=yt,ol=$e,rl=Rt,sl=V,al=ve,hl=eo,ll=M,dl=wr,cl=Ki,ul=rh,fl=hh,pl=$i,vl=m,gl=Ve,yl=Zo,ml=x,bl=fn,wl=Ir,kl=Pt.exports,_l=Ri,xl=Xt,El=oe,Ol=wh,Cl=Ch,Sl=$r,Tl=Vo,Ml=Wh.forEach,Pl=Co(\"hidden\"),Dl=\"Symbol\",Il=El(\"toPrimitive\"),Bl=Tl.set,zl=Tl.getterFor(Dl),Nl=Object.prototype,Fl=Vh.Symbol,Al=Fl&&Fl.prototype,jl=Vh.TypeError,Rl=Vh.QObject,Ll=Uh(\"JSON\",\"stringify\"),Hl=vl.f,Wl=gl.f,ql=fl.f,Vl=ml.f,Ul=Gh([].push),Yl=kl(\"symbols\"),Xl=kl(\"op-symbols\"),Gl=kl(\"string-to-symbol-registry\"),Kl=kl(\"symbol-to-string-registry\"),$l=kl(\"wks\"),Zl=!Rl||!Rl.prototype||!Rl.prototype.findChild,Ql=Kh&&Zh((function(){return 7!=dl(Wl({},\"a\",{get:function(){return Wl(this,\"a\",{value:7}).a}})).a}))?function(t,e,i){var n=Hl(Nl,e);n&&delete Nl[e],Wl(t,e,i),n&&t!==Nl&&Wl(Nl,e,n)}:Wl,Jl=function(t,e){var i=Yl[t]=dl(Al);return Bl(i,{type:Dl,tag:t,description:e}),Kh||(i.description=e),i},td=function(t,e,i){t===Nl&&td(Xl,e,i),ol(t);var n=al(e);return ol(i),Qh(Yl,n)?(i.enumerable?(Qh(t,Pl)&&t[Pl][n]&&(t[Pl][n]=!1),i=dl(i,{enumerable:ll(0,!1)})):(Qh(t,Pl)||Wl(t,Pl,ll(1,{})),t[Pl][n]=!0),Ql(t,n,i)):Wl(t,n,i)},ed=function(t,e){ol(t);var i=sl(e),n=cl(i).concat(rd(i));return Ml(n,(function(e){Kh&&!Xh(id,i,e)||td(t,e,i[e])})),t},id=function(t){var e=al(t),i=Xh(Vl,this,e);return!(this===Nl&&Qh(Yl,e)&&!Qh(Xl,e))&&(!(i||!Qh(this,e)||!Qh(Yl,e)||Qh(this,Pl)&&this[Pl][e])||i)},nd=function(t,e){var i=sl(t),n=al(e);if(i!==Nl||!Qh(Yl,n)||Qh(Xl,n)){var o=Hl(i,n);return!o||!Qh(Yl,n)||Qh(i,Pl)&&i[Pl][n]||(o.enumerable=!0),o}},od=function(t){var e=ql(sl(t)),i=[];return Ml(e,(function(t){Qh(Yl,t)||Qh(_l,t)||Ul(i,t)})),i},rd=function(t){var e=t===Nl,i=ql(e?Xl:sl(t)),n=[];return Ml(i,(function(t){!Qh(Yl,t)||e&&!Qh(Nl,t)||Ul(n,Yl[t])})),n};if($h||(Fl=function(){if(il(Al,this))throw jl(\"Symbol is not a constructor\");var t=arguments.length&&void 0!==arguments[0]?hl(arguments[0]):void 0,e=xl(t),i=function(t){this===Nl&&Xh(i,Xl,t),Qh(this,Pl)&&Qh(this[Pl],e)&&(this[Pl][e]=!1),Ql(this,e,ll(1,t))};return Kh&&Zl&&Ql(Nl,e,{configurable:!0,set:i}),Jl(e,t)},wl(Al=Fl.prototype,\"toString\",(function(){return zl(this).tag})),wl(Fl,\"withoutSetter\",(function(t){return Jl(xl(t),t)})),ml.f=id,gl.f=td,yl.f=ed,vl.f=nd,ul.f=fl.f=od,pl.f=rd,Ol.f=function(t){return Jl(El(t),t)},Kh&&Wl(Al,\"description\",{configurable:!0,get:function(){return zl(this).description}})),qh({global:!0,wrap:!0,forced:!$h,sham:!$h},{Symbol:Fl}),Ml(cl($l),(function(t){Cl(t)})),qh({target:Dl,stat:!0,forced:!$h},{for:function(t){var e=hl(t);if(Qh(Gl,e))return Gl[e];var i=Fl(e);return Gl[e]=i,Kl[i]=e,i},keyFor:function(t){if(!nl(t))throw jl(t+\" is not a symbol\");if(Qh(Kl,t))return Kl[t]},useSetter:function(){Zl=!0},useSimple:function(){Zl=!1}}),qh({target:\"Object\",stat:!0,forced:!$h,sham:!Kh},{create:function(t,e){return void 0===e?dl(t):ed(dl(t),e)},defineProperty:td,defineProperties:ed,getOwnPropertyDescriptor:nd}),qh({target:\"Object\",stat:!0,forced:!$h},{getOwnPropertyNames:od,getOwnPropertySymbols:rd}),qh({target:\"Object\",stat:!0,forced:Zh((function(){pl.f(1)}))},{getOwnPropertySymbols:function(t){return pl.f(rl(t))}}),Ll){var sd=!$h||Zh((function(){var t=Fl();return\"[null]\"!=Ll([t])||\"{}\"!=Ll({a:t})||\"{}\"!=Ll(Object(t))}));qh({target:\"JSON\",stat:!0,forced:sd},{stringify:function(t,e,i){var n=bl(arguments),o=e;if((el(e)||void 0!==t)&&!nl(t))return Jh(e)||(e=function(t,e){if(tl(o)&&(e=Xh(o,this,t,e)),!nl(e))return e}),n[1]=e,Yh(Ll,null,n)}})}if(!Al[Il]){var ad=Al.valueOf;wl(Al,Il,(function(t){return Xh(ad,this)}))}Sl(Fl,Dl),_l[Pl]=!0;var hd=X.Object.getOwnPropertySymbols,ld={exports:{}},dd=_i,cd=o,ud=V,fd=m.f,pd=b,vd=cd((function(){fd(1)}));dd({target:\"Object\",stat:!0,forced:!pd||vd,sham:!pd},{getOwnPropertyDescriptor:function(t,e){return fd(ud(t),e)}});var gd=X.Object,yd=ld.exports=function(t,e){return gd.getOwnPropertyDescriptor(t,e)};gd.getOwnPropertyDescriptor.sham&&(yd.sham=!0);var md=ld.exports,bd=md,wd=Q,kd=rh,_d=$i,xd=$e,Ed=g([].concat),Od=wd(\"Reflect\",\"ownKeys\")||function(t){var e=kd.f(xd(t)),i=_d.f;return i?Ed(e,i(t)):e},Cd=Od,Sd=V,Td=m,Md=aa;_i({target:\"Object\",stat:!0,sham:!b},{getOwnPropertyDescriptors:function(t){for(var e,i,n=Sd(t),o=Td.f,r=Cd(n),s={},a=0;r.length>a;)void 0!==(i=o(n,e=r[a++]))&&Md(s,e,i);return s}});var Pd=X.Object.getOwnPropertyDescriptors,Dd={exports:{}},Id=_i,Bd=b,zd=Zo.f;Id({target:\"Object\",stat:!0,forced:Object.defineProperties!==zd,sham:!Bd},{defineProperties:zd});var Nd=X.Object,Fd=Dd.exports=function(t,e){return Nd.defineProperties(t,e)};Nd.defineProperties.sham&&(Fd.sham=!0);var Ad=Dd.exports,jd={exports:{}},Rd=_i,Ld=b,Hd=Ve.f;Rd({target:\"Object\",stat:!0,forced:Object.defineProperty!==Hd,sham:!Ld},{defineProperty:Hd});var Wd=X.Object,qd=jd.exports=function(t,e,i){return Wd.defineProperty(t,e,i)};Wd.defineProperty.sham&&(qd.sham=!0);var Vd=jd.exports,Ud=Vd;function Yd(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}var Xd=Vd;function Gd(t,e){for(var i=0;i<e.length;i++){var n=e[i];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Xd(t,n.key,n)}}function Kd(t,e,i){return e&&Gd(t.prototype,e),i&&Gd(t,i),Xd(t,\"prototype\",{writable:!1}),t}function $d(t,e,i){return e in t?Xd(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}):t[e]=i,t}_i({target:\"Array\",stat:!0},{isArray:oh});var Zd=X.Array.isArray,Qd=Zd;var Jd=o,tc=at,ec=oe(\"species\"),ic=function(t){return tc>=51||!Jd((function(){var e=[];return(e.constructor={})[ec]=function(){return{foo:1}},1!==e[t](Boolean).foo}))},nc=_i,oc=n,rc=o,sc=oh,ac=Y,hc=Rt,lc=Bi,dc=aa,cc=zh,uc=ic,fc=at,pc=oe(\"isConcatSpreadable\"),vc=9007199254740991,gc=\"Maximum allowed index exceeded\",yc=oc.TypeError,mc=fc>=51||!rc((function(){var t=[];return t[pc]=!1,t.concat()[0]!==t})),bc=uc(\"concat\"),wc=function(t){if(!ac(t))return!1;var e=t[pc];return void 0!==e?!!e:sc(t)};nc({target:\"Array\",proto:!0,forced:!mc||!bc},{concat:function(t){var e,i,n,o,r,s=hc(this),a=cc(s,0),h=0;for(e=-1,n=arguments.length;e<n;e++)if(wc(r=-1===e?s:arguments[e])){if(h+(o=lc(r))>vc)throw yc(gc);for(i=0;i<o;i++,h++)i in r&&dc(a,h,r[i])}else{if(h>=vc)throw yc(gc);dc(a,h++,r)}return a.length=h,a}}),Ch(\"asyncIterator\"),Ch(\"hasInstance\"),Ch(\"isConcatSpreadable\"),Ch(\"iterator\"),Ch(\"match\"),Ch(\"matchAll\"),Ch(\"replace\"),Ch(\"search\"),Ch(\"species\"),Ch(\"split\"),Ch(\"toPrimitive\"),Ch(\"toStringTag\"),Ch(\"unscopables\"),$r(n.JSON,\"JSON\",!0);var kc=X.Symbol,_c=kc;Ch(\"asyncDispose\"),Ch(\"dispose\"),Ch(\"matcher\"),Ch(\"metadata\"),Ch(\"observable\"),Ch(\"patternMatch\"),Ch(\"replaceAll\");var xc=_c;var Ec=_i,Oc=n,Cc=oh,Sc=na,Tc=Y,Mc=Mi,Pc=Bi,Dc=V,Ic=aa,Bc=oe,zc=fn,Nc=ic(\"slice\"),Fc=Bc(\"species\"),Ac=Oc.Array,jc=Math.max;Ec({target:\"Array\",proto:!0,forced:!Nc},{slice:function(t,e){var i,n,o,r=Dc(this),s=Pc(r),a=Mc(t,s),h=Mc(void 0===e?s:e,s);if(Cc(r)&&(i=r.constructor,(Sc(i)&&(i===Ac||Cc(i.prototype))||Tc(i)&&null===(i=i[Fc]))&&(i=void 0),i===Ac||void 0===i))return zc(r,a,h);for(n=new(void 0===i?Ac:i)(jc(h-a,0)),o=0;a<h;a++,o++)a in r&&Ic(n,o,r[a]);return n.length=o,n}});var Rc=Tn(\"Array\").slice,Lc=J,Hc=Rc,Wc=Array.prototype,qc=function(t){var e=t.slice;return t===Wc||Lc(Wc,t)&&e===Wc.slice?Hc:e},Vc=qc,Uc=Vc,Yc=Aa;function Xc(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function Gc(t,e){var i;if(t){if(\"string\"==typeof t)return Xc(t,e);var n=Uc(i=Object.prototype.toString.call(t)).call(i,8,-1);return\"Object\"===n&&t.constructor&&(n=t.constructor.name),\"Map\"===n||\"Set\"===n?Yc(t):\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?Xc(t,e):void 0}}function Kc(t,e){return function(t){if(Qd(t))return t}(t)||function(t,e){var i=null==t?null:void 0!==xc&&ih(t)||t[\"@@iterator\"];if(null!=i){var n,o,r=[],s=!0,a=!1;try{for(i=i.call(t);!(s=(n=i.next()).done)&&(r.push(n.value),!e||r.length!==e);s=!0);}catch(t){a=!0,o=t}finally{try{s||null==i.return||i.return()}finally{if(a)throw o}}return r}}(t,e)||Gc(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}var $c=wh.f(\"iterator\"),Zc=$c;function Qc(t){return Qc=\"function\"==typeof xc&&\"symbol\"==typeof Zc?function(t){return typeof t}:function(t){return t&&\"function\"==typeof xc&&t.constructor===xc&&t!==xc.prototype?\"symbol\":typeof t},Qc(t)}function Jc(t){return function(t){if(Qd(t))return Xc(t)}(t)||function(t){if(void 0!==xc&&null!=ih(t)||null!=t[\"@@iterator\"])return Yc(t)}(t)||Gc(t)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}var tu=kc,eu=Tn(\"Array\").concat,iu=J,nu=eu,ou=Array.prototype,ru=function(t){var e=t.concat;return t===ou||iu(ou,t)&&e===ou.concat?nu:e},su=ru,au=Vc;_i({target:\"Reflect\",stat:!0},{ownKeys:Od});var hu=X.Reflect.ownKeys,lu=Zd,du=Wh.map;_i({target:\"Array\",proto:!0,forced:!ic(\"map\")},{map:function(t){return du(this,t,arguments.length>1?arguments[1]:void 0)}});var cu=Tn(\"Array\").map,uu=J,fu=cu,pu=Array.prototype,vu=function(t){var e=t.map;return t===pu||uu(pu,t)&&e===pu.map?fu:e},gu=vu,yu=Rt,mu=Ki;_i({target:\"Object\",stat:!0,forced:o((function(){mu(1)}))},{keys:function(t){return mu(yu(t))}});var bu=X.Object.keys,wu=_i,ku=g,_u=n.Date,xu=ku(_u.prototype.getTime);wu({target:\"Date\",stat:!0},{now:function(){return xu(new _u)}});var Eu=X.Date.now,Ou=o,Cu=function(t,e){var i=[][t];return!!i&&Ou((function(){i.call(null,e||function(){return 1},1)}))},Su=Wh.forEach,Tu=Cu(\"forEach\")?[].forEach:function(t){return Su(this,t,arguments.length>1?arguments[1]:void 0)};_i({target:\"Array\",proto:!0,forced:[].forEach!=Tu},{forEach:Tu});var Mu=Tn(\"Array\").forEach,Pu=Qn,Du=Wt,Iu=J,Bu=Mu,zu=Array.prototype,Nu={DOMTokenList:!0,NodeList:!0},Fu=function(t){var e=t.forEach;return t===zu||Iu(zu,t)&&e===zu.forEach||Du(Nu,Pu(t))?Bu:e},Au=_i,ju=oh,Ru=g([].reverse),Lu=[1,2];Au({target:\"Array\",proto:!0,forced:String(Lu)===String(Lu.reverse())},{reverse:function(){return ju(this)&&(this.length=this.length),Ru(this)}});var Hu=Tn(\"Array\").reverse,Wu=J,qu=Hu,Vu=Array.prototype,Uu=function(t){var e=t.reverse;return t===Vu||Wu(Vu,t)&&e===Vu.reverse?qu:e},Yu=Uu,Xu=_i,Gu=n,Ku=Mi,$u=Oi,Zu=Bi,Qu=Rt,Ju=zh,tf=aa,ef=ic(\"splice\"),nf=Gu.TypeError,of=Math.max,rf=Math.min,sf=9007199254740991,af=\"Maximum allowed length exceeded\";Xu({target:\"Array\",proto:!0,forced:!ef},{splice:function(t,e){var i,n,o,r,s,a,h=Qu(this),l=Zu(h),d=Ku(t,l),c=arguments.length;if(0===c?i=n=0:1===c?(i=0,n=l-d):(i=c-2,n=rf(of($u(e),0),l-d)),l+i-n>sf)throw nf(af);for(o=Ju(h,n),r=0;r<n;r++)(s=d+r)in h&&tf(o,r,h[s]);if(o.length=n,i<n){for(r=d;r<l-n;r++)a=r+i,(s=r+n)in h?h[a]=h[s]:delete h[a];for(r=l;r>l-n+i;r--)delete h[r-1]}else if(i>n)for(r=l-n;r>d;r--)a=r+i-1,(s=r+n-1)in h?h[a]=h[s]:delete h[a];for(r=0;r<i;r++)h[r+d]=arguments[r+2];return h.length=l-n+i,o}});var hf=Tn(\"Array\").splice,lf=J,df=hf,cf=Array.prototype,uf=function(t){var e=t.splice;return t===cf||lf(cf,t)&&e===cf.splice?df:e},ff=uf,pf=ji.includes;_i({target:\"Array\",proto:!0},{includes:function(t){return pf(this,t,arguments.length>1?arguments[1]:void 0)}});var vf=Tn(\"Array\").includes,gf=Y,yf=B,mf=oe(\"match\"),bf=function(t){var e;return gf(t)&&(void 0!==(e=t[mf])?!!e:\"RegExp\"==yf(t))},wf=n.TypeError,kf=oe(\"match\"),_f=_i,xf=function(t){if(bf(t))throw wf(\"The method doesn't accept regular expressions\");return t},Ef=H,Of=eo,Cf=function(t){var e=/./;try{\"/./\"[t](e)}catch(i){try{return e[kf]=!1,\"/./\"[t](e)}catch(t){}}return!1},Sf=g(\"\".indexOf);_f({target:\"String\",proto:!0,forced:!Cf(\"includes\")},{includes:function(t){return!!~Sf(Of(Ef(this)),Of(xf(t)),arguments.length>1?arguments[1]:void 0)}});var Tf=Tn(\"String\").includes,Mf=J,Pf=vf,Df=Tf,If=Array.prototype,Bf=String.prototype,zf=function(t){var e=t.includes;return t===If||Mf(If,t)&&e===If.includes?Pf:\"string\"==typeof t||t===Bf||Mf(Bf,t)&&e===Bf.includes?Df:e},Nf=zf,Ff=Rt,Af=Pr,jf=kr;_i({target:\"Object\",stat:!0,forced:o((function(){Af(1)})),sham:!jf},{getPrototypeOf:function(t){return Af(Ff(t))}});var Rf=X.Object.getPrototypeOf,Lf=Rf,Hf=Wh.filter;_i({target:\"Array\",proto:!0,forced:!ic(\"filter\")},{filter:function(t){return Hf(this,t,arguments.length>1?arguments[1]:void 0)}});var Wf=Tn(\"Array\").filter,qf=J,Vf=Wf,Uf=Array.prototype,Yf=function(t){var e=t.filter;return t===Uf||qf(Uf,t)&&e===Uf.filter?Vf:e},Xf=Yf,Gf=b,Kf=g,$f=Ki,Zf=V,Qf=Kf(x.f),Jf=Kf([].push),tp=function(t){return function(e){for(var i,n=Zf(e),o=$f(n),r=o.length,s=0,a=[];r>s;)i=o[s++],Gf&&!Qf(n,i)||Jf(a,t?[i,n[i]]:n[i]);return a}},ep={entries:tp(!0),values:tp(!1)}.values;_i({target:\"Object\",stat:!0},{values:function(t){return ep(t)}});var ip=X.Object.values,np=\"\\t\\n\\v\\f\\r                　\\u2028\\u2029\\ufeff\",op=H,rp=eo,sp=g(\"\".replace),ap=\"[\\t\\n\\v\\f\\r                　\\u2028\\u2029\\ufeff]\",hp=RegExp(\"^\"+ap+ap+\"*\"),lp=RegExp(ap+ap+\"*$\"),dp=function(t){return function(e){var i=rp(op(e));return 1&t&&(i=sp(i,hp,\"\")),2&t&&(i=sp(i,lp,\"\")),i}},cp={start:dp(1),end:dp(2),trim:dp(3)},up=n,fp=o,pp=g,vp=eo,gp=cp.trim,yp=np,mp=up.parseInt,bp=up.Symbol,wp=bp&&bp.iterator,kp=/^[+-]?0x/i,_p=pp(kp.exec),xp=8!==mp(yp+\"08\")||22!==mp(yp+\"0x16\")||wp&&!fp((function(){mp(Object(wp))}))?function(t,e){var i=gp(vp(t));return mp(i,e>>>0||(_p(kp,i)?16:10))}:mp;_i({global:!0,forced:parseInt!=xp},{parseInt:xp});var Ep=X.parseInt,Op=_i,Cp=ji.indexOf,Sp=Cu,Tp=g([].indexOf),Mp=!!Tp&&1/Tp([1],1,-0)<0,Pp=Sp(\"indexOf\");Op({target:\"Array\",proto:!0,forced:Mp||!Pp},{indexOf:function(t){var e=arguments.length>1?arguments[1]:void 0;return Mp?Tp(this,t,e)||0:Cp(this,t,e)}});var Dp=Tn(\"Array\").indexOf,Ip=J,Bp=Dp,zp=Array.prototype,Np=function(t){var e=t.indexOf;return t===zp||Ip(zp,t)&&e===zp.indexOf?Bp:e},Fp=Np,Ap=$o.PROPER,jp=o,Rp=np,Lp=cp.trim;_i({target:\"String\",proto:!0,forced:function(t){return jp((function(){return!!Rp[t]()||\"​᠎\"!==\"​᠎\"[t]()||Ap&&Rp[t].name!==t}))}(\"trim\")},{trim:function(){return Lp(this)}});var Hp=Tn(\"String\").trim,Wp=J,qp=Hp,Vp=String.prototype,Up=function(t){var e=t.trim;return\"string\"==typeof t||t===Vp||Wp(Vp,t)&&e===Vp.trim?qp:e},Yp=Up;_i({target:\"Object\",stat:!0,sham:!b},{create:wr});var Xp=X.Object,Gp=function(t,e){return Xp.create(t,e)},Kp=Gp,$p=_i,Zp=Q,Qp=d,Jp=g,tv=o,ev=n.Array,iv=Zp(\"JSON\",\"stringify\"),nv=Jp(/./.exec),ov=Jp(\"\".charAt),rv=Jp(\"\".charCodeAt),sv=Jp(\"\".replace),av=Jp(1..toString),hv=/[\\uD800-\\uDFFF]/g,lv=/^[\\uD800-\\uDBFF]$/,dv=/^[\\uDC00-\\uDFFF]$/,cv=function(t,e,i){var n=ov(i,e-1),o=ov(i,e+1);return nv(lv,t)&&!nv(dv,o)||nv(dv,t)&&!nv(lv,n)?\"\\\\u\"+av(rv(t,0),16):t},uv=tv((function(){return'\"\\\\udf06\\\\ud834\"'!==iv(\"\\udf06\\ud834\")||'\"\\\\udead\"'!==iv(\"\\udead\")}));iv&&$p({target:\"JSON\",stat:!0,forced:uv},{stringify:function(t,e,i){for(var n=0,o=arguments.length,r=ev(o);n<o;n++)r[n]=arguments[n];var s=Qp(iv,null,r);return\"string\"==typeof s?sv(s,hv,cv):s}});var fv=X,pv=d;fv.JSON||(fv.JSON={stringify:JSON.stringify});var vv=function(t,e,i){return pv(fv.JSON.stringify,null,arguments)},gv=vv,yv=n.TypeError,mv=_i,bv=n,wv=d,kv=y,_v=fn,xv=function(t,e){if(t<e)throw yv(\"Not enough arguments\");return t},Ev=/MSIE .\\./.test(tt),Ov=bv.Function,Cv=function(t){return function(e,i){var n=xv(arguments.length,1)>2,o=kv(e)?e:Ov(e),r=n?_v(arguments,2):void 0;return t(n?function(){wv(o,this,r)}:o,i)}};mv({global:!0,bind:!0,forced:Ev},{setTimeout:Cv(bv.setTimeout),setInterval:Cv(bv.setInterval)});var Sv=X.setTimeout,Tv=Rt,Mv=Mi,Pv=Bi,Dv=function(t){for(var e=Tv(this),i=Pv(e),n=arguments.length,o=Mv(n>1?arguments[1]:void 0,i),r=n>2?arguments[2]:void 0,s=void 0===r?i:Mv(r,i);s>o;)e[o++]=t;return e};_i({target:\"Array\",proto:!0},{fill:Dv});var Iv,Bv=Tn(\"Array\").fill,zv=J,Nv=Bv,Fv=Array.prototype,Av=function(t){var e=t.fill;return t===Fv||zv(Fv,t)&&e===Fv.fill?Nv:e},jv=Av;function Rv(){return Rv=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&(t[n]=i[n])}return t},Rv.apply(this,arguments)}function Lv(t,e){t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t.__proto__=e}function Hv(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}Iv=\"function\"!=typeof Object.assign?function(t){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var e=Object(t),i=1;i<arguments.length;i++){var n=arguments[i];if(null!=n)for(var o in n)n.hasOwnProperty(o)&&(e[o]=n[o])}return e}:Object.assign;var Wv,qv=Iv,Vv=[\"\",\"webkit\",\"Moz\",\"MS\",\"ms\",\"o\"],Uv=\"undefined\"==typeof document?{style:{}}:document.createElement(\"div\"),Yv=Math.round,Xv=Math.abs,Gv=Date.now;function Kv(t,e){for(var i,n,o=e[0].toUpperCase()+e.slice(1),r=0;r<Vv.length;){if((n=(i=Vv[r])?i+o:e)in t)return n;r++}}Wv=\"undefined\"==typeof window?{}:window;var $v=Kv(Uv.style,\"touchAction\"),Zv=void 0!==$v;var Qv=\"compute\",Jv=\"auto\",tg=\"manipulation\",eg=\"none\",ig=\"pan-x\",ng=\"pan-y\",og=function(){if(!Zv)return!1;var t={},e=Wv.CSS&&Wv.CSS.supports;return[\"auto\",\"manipulation\",\"pan-y\",\"pan-x\",\"pan-x pan-y\",\"none\"].forEach((function(i){return t[i]=!e||Wv.CSS.supports(\"touch-action\",i)})),t}(),rg=\"ontouchstart\"in Wv,sg=void 0!==Kv(Wv,\"PointerEvent\"),ag=rg&&/mobile|tablet|ip(ad|hone|od)|android/i.test(navigator.userAgent),hg=\"touch\",lg=\"mouse\",dg=16,cg=24,ug=[\"x\",\"y\"],fg=[\"clientX\",\"clientY\"];function pg(t,e,i){var n;if(t)if(t.forEach)t.forEach(e,i);else if(void 0!==t.length)for(n=0;n<t.length;)e.call(i,t[n],n,t),n++;else for(n in t)t.hasOwnProperty(n)&&e.call(i,t[n],n,t)}function vg(t,e){return\"function\"==typeof t?t.apply(e&&e[0]||void 0,e):t}function gg(t,e){return t.indexOf(e)>-1}var yg=function(){function t(t,e){this.manager=t,this.set(e)}var e=t.prototype;return e.set=function(t){t===Qv&&(t=this.compute()),Zv&&this.manager.element.style&&og[t]&&(this.manager.element.style[$v]=t),this.actions=t.toLowerCase().trim()},e.update=function(){this.set(this.manager.options.touchAction)},e.compute=function(){var t=[];return pg(this.manager.recognizers,(function(e){vg(e.options.enable,[e])&&(t=t.concat(e.getTouchAction()))})),function(t){if(gg(t,eg))return eg;var e=gg(t,ig),i=gg(t,ng);return e&&i?eg:e||i?e?ig:ng:gg(t,tg)?tg:Jv}(t.join(\" \"))},e.preventDefaults=function(t){var e=t.srcEvent,i=t.offsetDirection;if(this.manager.session.prevented)e.preventDefault();else{var n=this.actions,o=gg(n,eg)&&!og.none,r=gg(n,ng)&&!og[\"pan-y\"],s=gg(n,ig)&&!og[\"pan-x\"];if(o){var a=1===t.pointers.length,h=t.distance<2,l=t.deltaTime<250;if(a&&h&&l)return}if(!s||!r)return o||r&&6&i||s&&i&cg?this.preventSrc(e):void 0}},e.preventSrc=function(t){this.manager.session.prevented=!0,t.preventDefault()},t}();function mg(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1}function bg(t){var e=t.length;if(1===e)return{x:Yv(t[0].clientX),y:Yv(t[0].clientY)};for(var i=0,n=0,o=0;o<e;)i+=t[o].clientX,n+=t[o].clientY,o++;return{x:Yv(i/e),y:Yv(n/e)}}function wg(t){for(var e=[],i=0;i<t.pointers.length;)e[i]={clientX:Yv(t.pointers[i].clientX),clientY:Yv(t.pointers[i].clientY)},i++;return{timeStamp:Gv(),pointers:e,center:bg(e),deltaX:t.deltaX,deltaY:t.deltaY}}function kg(t,e,i){i||(i=ug);var n=e[i[0]]-t[i[0]],o=e[i[1]]-t[i[1]];return Math.sqrt(n*n+o*o)}function _g(t,e,i){i||(i=ug);var n=e[i[0]]-t[i[0]],o=e[i[1]]-t[i[1]];return 180*Math.atan2(o,n)/Math.PI}function xg(t,e){return t===e?1:Xv(t)>=Xv(e)?t<0?2:4:e<0?8:dg}function Eg(t,e,i){return{x:e/t||0,y:i/t||0}}function Og(t,e){var i=t.session,n=e.pointers,o=n.length;i.firstInput||(i.firstInput=wg(e)),o>1&&!i.firstMultiple?i.firstMultiple=wg(e):1===o&&(i.firstMultiple=!1);var r=i.firstInput,s=i.firstMultiple,a=s?s.center:r.center,h=e.center=bg(n);e.timeStamp=Gv(),e.deltaTime=e.timeStamp-r.timeStamp,e.angle=_g(a,h),e.distance=kg(a,h),function(t,e){var i=e.center,n=t.offsetDelta||{},o=t.prevDelta||{},r=t.prevInput||{};1!==e.eventType&&4!==r.eventType||(o=t.prevDelta={x:r.deltaX||0,y:r.deltaY||0},n=t.offsetDelta={x:i.x,y:i.y}),e.deltaX=o.x+(i.x-n.x),e.deltaY=o.y+(i.y-n.y)}(i,e),e.offsetDirection=xg(e.deltaX,e.deltaY);var l,d,c=Eg(e.deltaTime,e.deltaX,e.deltaY);e.overallVelocityX=c.x,e.overallVelocityY=c.y,e.overallVelocity=Xv(c.x)>Xv(c.y)?c.x:c.y,e.scale=s?(l=s.pointers,kg((d=n)[0],d[1],fg)/kg(l[0],l[1],fg)):1,e.rotation=s?function(t,e){return _g(e[1],e[0],fg)+_g(t[1],t[0],fg)}(s.pointers,n):0,e.maxPointers=i.prevInput?e.pointers.length>i.prevInput.maxPointers?e.pointers.length:i.prevInput.maxPointers:e.pointers.length,function(t,e){var i,n,o,r,s=t.lastInterval||e,a=e.timeStamp-s.timeStamp;if(8!==e.eventType&&(a>25||void 0===s.velocity)){var h=e.deltaX-s.deltaX,l=e.deltaY-s.deltaY,d=Eg(a,h,l);n=d.x,o=d.y,i=Xv(d.x)>Xv(d.y)?d.x:d.y,r=xg(h,l),t.lastInterval=e}else i=s.velocity,n=s.velocityX,o=s.velocityY,r=s.direction;e.velocity=i,e.velocityX=n,e.velocityY=o,e.direction=r}(i,e);var u,f=t.element,p=e.srcEvent;mg(u=p.composedPath?p.composedPath()[0]:p.path?p.path[0]:p.target,f)&&(f=u),e.target=f}function Cg(t,e,i){var n=i.pointers.length,o=i.changedPointers.length,r=1&e&&n-o==0,s=12&e&&n-o==0;i.isFirst=!!r,i.isFinal=!!s,r&&(t.session={}),i.eventType=e,Og(t,i),t.emit(\"hammer.input\",i),t.recognize(i),t.session.prevInput=i}function Sg(t){return t.trim().split(/\\s+/g)}function Tg(t,e,i){pg(Sg(e),(function(e){t.addEventListener(e,i,!1)}))}function Mg(t,e,i){pg(Sg(e),(function(e){t.removeEventListener(e,i,!1)}))}function Pg(t){var e=t.ownerDocument||t;return e.defaultView||e.parentWindow||window}var Dg=function(){function t(t,e){var i=this;this.manager=t,this.callback=e,this.element=t.element,this.target=t.options.inputTarget,this.domHandler=function(e){vg(t.options.enable,[t])&&i.handler(e)},this.init()}var e=t.prototype;return e.handler=function(){},e.init=function(){this.evEl&&Tg(this.element,this.evEl,this.domHandler),this.evTarget&&Tg(this.target,this.evTarget,this.domHandler),this.evWin&&Tg(Pg(this.element),this.evWin,this.domHandler)},e.destroy=function(){this.evEl&&Mg(this.element,this.evEl,this.domHandler),this.evTarget&&Mg(this.target,this.evTarget,this.domHandler),this.evWin&&Mg(Pg(this.element),this.evWin,this.domHandler)},t}();function Ig(t,e,i){if(t.indexOf&&!i)return t.indexOf(e);for(var n=0;n<t.length;){if(i&&t[n][i]==e||!i&&t[n]===e)return n;n++}return-1}var Bg={pointerdown:1,pointermove:2,pointerup:4,pointercancel:8,pointerout:8},zg={2:hg,3:\"pen\",4:lg,5:\"kinect\"},Ng=\"pointerdown\",Fg=\"pointermove pointerup pointercancel\";Wv.MSPointerEvent&&!Wv.PointerEvent&&(Ng=\"MSPointerDown\",Fg=\"MSPointerMove MSPointerUp MSPointerCancel\");var Ag=function(t){function e(){var i,n=e.prototype;return n.evEl=Ng,n.evWin=Fg,(i=t.apply(this,arguments)||this).store=i.manager.session.pointerEvents=[],i}return Lv(e,t),e.prototype.handler=function(t){var e=this.store,i=!1,n=t.type.toLowerCase().replace(\"ms\",\"\"),o=Bg[n],r=zg[t.pointerType]||t.pointerType,s=r===hg,a=Ig(e,t.pointerId,\"pointerId\");1&o&&(0===t.button||s)?a<0&&(e.push(t),a=e.length-1):12&o&&(i=!0),a<0||(e[a]=t,this.callback(this.manager,o,{pointers:e,changedPointers:[t],pointerType:r,srcEvent:t}),i&&e.splice(a,1))},e}(Dg);function jg(t){return Array.prototype.slice.call(t,0)}function Rg(t,e,i){for(var n=[],o=[],r=0;r<t.length;){var s=e?t[r][e]:t[r];Ig(o,s)<0&&n.push(t[r]),o[r]=s,r++}return i&&(n=e?n.sort((function(t,i){return t[e]>i[e]})):n.sort()),n}var Lg={touchstart:1,touchmove:2,touchend:4,touchcancel:8},Hg=\"touchstart touchmove touchend touchcancel\",Wg=function(t){function e(){var i;return e.prototype.evTarget=Hg,(i=t.apply(this,arguments)||this).targetIds={},i}return Lv(e,t),e.prototype.handler=function(t){var e=Lg[t.type],i=qg.call(this,t,e);i&&this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:hg,srcEvent:t})},e}(Dg);function qg(t,e){var i,n,o=jg(t.touches),r=this.targetIds;if(3&e&&1===o.length)return r[o[0].identifier]=!0,[o,o];var s=jg(t.changedTouches),a=[],h=this.target;if(n=o.filter((function(t){return mg(t.target,h)})),1===e)for(i=0;i<n.length;)r[n[i].identifier]=!0,i++;for(i=0;i<s.length;)r[s[i].identifier]&&a.push(s[i]),12&e&&delete r[s[i].identifier],i++;return a.length?[Rg(n.concat(a),\"identifier\",!0),a]:void 0}var Vg={mousedown:1,mousemove:2,mouseup:4},Ug=\"mousedown\",Yg=\"mousemove mouseup\",Xg=function(t){function e(){var i,n=e.prototype;return n.evEl=Ug,n.evWin=Yg,(i=t.apply(this,arguments)||this).pressed=!1,i}return Lv(e,t),e.prototype.handler=function(t){var e=Vg[t.type];1&e&&0===t.button&&(this.pressed=!0),2&e&&1!==t.which&&(e=4),this.pressed&&(4&e&&(this.pressed=!1),this.callback(this.manager,e,{pointers:[t],changedPointers:[t],pointerType:lg,srcEvent:t}))},e}(Dg);function Gg(t){var e=t.changedPointers[0];if(e.identifier===this.primaryTouch){var i={x:e.clientX,y:e.clientY},n=this.lastTouches;this.lastTouches.push(i);setTimeout((function(){var t=n.indexOf(i);t>-1&&n.splice(t,1)}),2500)}}function Kg(t,e){1&t?(this.primaryTouch=e.changedPointers[0].identifier,Gg.call(this,e)):12&t&&Gg.call(this,e)}function $g(t){for(var e=t.srcEvent.clientX,i=t.srcEvent.clientY,n=0;n<this.lastTouches.length;n++){var o=this.lastTouches[n],r=Math.abs(e-o.x),s=Math.abs(i-o.y);if(r<=25&&s<=25)return!0}return!1}var Zg=function(){return function(t){function e(e,i){var n;return(n=t.call(this,e,i)||this).handler=function(t,e,i){var o=i.pointerType===hg,r=i.pointerType===lg;if(!(r&&i.sourceCapabilities&&i.sourceCapabilities.firesTouchEvents)){if(o)Kg.call(Hv(Hv(n)),e,i);else if(r&&$g.call(Hv(Hv(n)),i))return;n.callback(t,e,i)}},n.touch=new Wg(n.manager,n.handler),n.mouse=new Xg(n.manager,n.handler),n.primaryTouch=null,n.lastTouches=[],n}return Lv(e,t),e.prototype.destroy=function(){this.touch.destroy(),this.mouse.destroy()},e}(Dg)}();function Qg(t,e,i){return!!Array.isArray(t)&&(pg(t,i[e],i),!0)}var Jg=32,ty=1;function ey(t,e){var i=e.manager;return i?i.get(t):t}function iy(t){return 16&t?\"cancel\":8&t?\"end\":4&t?\"move\":2&t?\"start\":\"\"}var ny=function(){function t(t){void 0===t&&(t={}),this.options=Rv({enable:!0},t),this.id=ty++,this.manager=null,this.state=1,this.simultaneous={},this.requireFail=[]}var e=t.prototype;return e.set=function(t){return qv(this.options,t),this.manager&&this.manager.touchAction.update(),this},e.recognizeWith=function(t){if(Qg(t,\"recognizeWith\",this))return this;var e=this.simultaneous;return e[(t=ey(t,this)).id]||(e[t.id]=t,t.recognizeWith(this)),this},e.dropRecognizeWith=function(t){return Qg(t,\"dropRecognizeWith\",this)||(t=ey(t,this),delete this.simultaneous[t.id]),this},e.requireFailure=function(t){if(Qg(t,\"requireFailure\",this))return this;var e=this.requireFail;return-1===Ig(e,t=ey(t,this))&&(e.push(t),t.requireFailure(this)),this},e.dropRequireFailure=function(t){if(Qg(t,\"dropRequireFailure\",this))return this;t=ey(t,this);var e=Ig(this.requireFail,t);return e>-1&&this.requireFail.splice(e,1),this},e.hasRequireFailures=function(){return this.requireFail.length>0},e.canRecognizeWith=function(t){return!!this.simultaneous[t.id]},e.emit=function(t){var e=this,i=this.state;function n(i){e.manager.emit(i,t)}i<8&&n(e.options.event+iy(i)),n(e.options.event),t.additionalEvent&&n(t.additionalEvent),i>=8&&n(e.options.event+iy(i))},e.tryEmit=function(t){if(this.canEmit())return this.emit(t);this.state=Jg},e.canEmit=function(){for(var t=0;t<this.requireFail.length;){if(!(33&this.requireFail[t].state))return!1;t++}return!0},e.recognize=function(t){var e=qv({},t);if(!vg(this.options.enable,[this,e]))return this.reset(),void(this.state=Jg);56&this.state&&(this.state=1),this.state=this.process(e),30&this.state&&this.tryEmit(e)},e.process=function(t){},e.getTouchAction=function(){},e.reset=function(){},t}(),oy=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Rv({event:\"tap\",pointers:1,taps:1,interval:300,time:250,threshold:9,posThreshold:10},e))||this).pTime=!1,i.pCenter=!1,i._timer=null,i._input=null,i.count=0,i}Lv(e,t);var i=e.prototype;return i.getTouchAction=function(){return[tg]},i.process=function(t){var e=this,i=this.options,n=t.pointers.length===i.pointers,o=t.distance<i.threshold,r=t.deltaTime<i.time;if(this.reset(),1&t.eventType&&0===this.count)return this.failTimeout();if(o&&r&&n){if(4!==t.eventType)return this.failTimeout();var s=!this.pTime||t.timeStamp-this.pTime<i.interval,a=!this.pCenter||kg(this.pCenter,t.center)<i.posThreshold;if(this.pTime=t.timeStamp,this.pCenter=t.center,a&&s?this.count+=1:this.count=1,this._input=t,0===this.count%i.taps)return this.hasRequireFailures()?(this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),i.interval),2):8}return Jg},i.failTimeout=function(){var t=this;return this._timer=setTimeout((function(){t.state=Jg}),this.options.interval),Jg},i.reset=function(){clearTimeout(this._timer)},i.emit=function(){8===this.state&&(this._input.tapCount=this.count,this.manager.emit(this.options.event,this._input))},e}(ny),ry=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Rv({pointers:1},e))||this}Lv(e,t);var i=e.prototype;return i.attrTest=function(t){var e=this.options.pointers;return 0===e||t.pointers.length===e},i.process=function(t){var e=this.state,i=t.eventType,n=6&e,o=this.attrTest(t);return n&&(8&i||!o)?16|e:n||o?4&i?8|e:2&e?4|e:2:Jg},e}(ny);function sy(t){return t===dg?\"down\":8===t?\"up\":2===t?\"left\":4===t?\"right\":\"\"}var ay=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Rv({event:\"pan\",threshold:10,pointers:1,direction:30},e))||this).pX=null,i.pY=null,i}Lv(e,t);var i=e.prototype;return i.getTouchAction=function(){var t=this.options.direction,e=[];return 6&t&&e.push(ng),t&cg&&e.push(ig),e},i.directionTest=function(t){var e=this.options,i=!0,n=t.distance,o=t.direction,r=t.deltaX,s=t.deltaY;return o&e.direction||(6&e.direction?(o=0===r?1:r<0?2:4,i=r!==this.pX,n=Math.abs(t.deltaX)):(o=0===s?1:s<0?8:dg,i=s!==this.pY,n=Math.abs(t.deltaY))),t.direction=o,i&&n>e.threshold&&o&e.direction},i.attrTest=function(t){return ry.prototype.attrTest.call(this,t)&&(2&this.state||!(2&this.state)&&this.directionTest(t))},i.emit=function(e){this.pX=e.deltaX,this.pY=e.deltaY;var i=sy(e.direction);i&&(e.additionalEvent=this.options.event+i),t.prototype.emit.call(this,e)},e}(ry),hy=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Rv({event:\"swipe\",threshold:10,velocity:.3,direction:30,pointers:1},e))||this}Lv(e,t);var i=e.prototype;return i.getTouchAction=function(){return ay.prototype.getTouchAction.call(this)},i.attrTest=function(e){var i,n=this.options.direction;return 30&n?i=e.overallVelocity:6&n?i=e.overallVelocityX:n&cg&&(i=e.overallVelocityY),t.prototype.attrTest.call(this,e)&&n&e.offsetDirection&&e.distance>this.options.threshold&&e.maxPointers===this.options.pointers&&Xv(i)>this.options.velocity&&4&e.eventType},i.emit=function(t){var e=sy(t.offsetDirection);e&&this.manager.emit(this.options.event+e,t),this.manager.emit(this.options.event,t)},e}(ry),ly=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Rv({event:\"pinch\",threshold:0,pointers:2},e))||this}Lv(e,t);var i=e.prototype;return i.getTouchAction=function(){return[eg]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.scale-1)>this.options.threshold||2&this.state)},i.emit=function(e){if(1!==e.scale){var i=e.scale<1?\"in\":\"out\";e.additionalEvent=this.options.event+i}t.prototype.emit.call(this,e)},e}(ry),dy=function(t){function e(e){return void 0===e&&(e={}),t.call(this,Rv({event:\"rotate\",threshold:0,pointers:2},e))||this}Lv(e,t);var i=e.prototype;return i.getTouchAction=function(){return[eg]},i.attrTest=function(e){return t.prototype.attrTest.call(this,e)&&(Math.abs(e.rotation)>this.options.threshold||2&this.state)},e}(ry),cy=function(t){function e(e){var i;return void 0===e&&(e={}),(i=t.call(this,Rv({event:\"press\",pointers:1,time:251,threshold:9},e))||this)._timer=null,i._input=null,i}Lv(e,t);var i=e.prototype;return i.getTouchAction=function(){return[Jv]},i.process=function(t){var e=this,i=this.options,n=t.pointers.length===i.pointers,o=t.distance<i.threshold,r=t.deltaTime>i.time;if(this._input=t,!o||!n||12&t.eventType&&!r)this.reset();else if(1&t.eventType)this.reset(),this._timer=setTimeout((function(){e.state=8,e.tryEmit()}),i.time);else if(4&t.eventType)return 8;return Jg},i.reset=function(){clearTimeout(this._timer)},i.emit=function(t){8===this.state&&(t&&4&t.eventType?this.manager.emit(this.options.event+\"up\",t):(this._input.timeStamp=Gv(),this.manager.emit(this.options.event,this._input)))},e}(ny),uy={domEvents:!1,touchAction:Qv,enable:!0,inputTarget:null,inputClass:null,cssProps:{userSelect:\"none\",touchSelect:\"none\",touchCallout:\"none\",contentZooming:\"none\",userDrag:\"none\",tapHighlightColor:\"rgba(0,0,0,0)\"}},fy=[[dy,{enable:!1}],[ly,{enable:!1},[\"rotate\"]],[hy,{direction:6}],[ay,{direction:6},[\"swipe\"]],[oy],[oy,{event:\"doubletap\",taps:2},[\"tap\"]],[cy]];function py(t,e){var i,n=t.element;n.style&&(pg(t.options.cssProps,(function(o,r){i=Kv(n.style,r),e?(t.oldCssProps[i]=n.style[i],n.style[i]=o):n.style[i]=t.oldCssProps[i]||\"\"})),e||(t.oldCssProps={}))}var vy=function(){function t(t,e){var i,n=this;this.options=qv({},uy,e||{}),this.options.inputTarget=this.options.inputTarget||t,this.handlers={},this.session={},this.recognizers=[],this.oldCssProps={},this.element=t,this.input=new((i=this).options.inputClass||(sg?Ag:ag?Wg:rg?Zg:Xg))(i,Cg),this.touchAction=new yg(this,this.options.touchAction),py(this,!0),pg(this.options.recognizers,(function(t){var e=n.add(new t[0](t[1]));t[2]&&e.recognizeWith(t[2]),t[3]&&e.requireFailure(t[3])}),this)}var e=t.prototype;return e.set=function(t){return qv(this.options,t),t.touchAction&&this.touchAction.update(),t.inputTarget&&(this.input.destroy(),this.input.target=t.inputTarget,this.input.init()),this},e.stop=function(t){this.session.stopped=t?2:1},e.recognize=function(t){var e=this.session;if(!e.stopped){var i;this.touchAction.preventDefaults(t);var n=this.recognizers,o=e.curRecognizer;(!o||o&&8&o.state)&&(e.curRecognizer=null,o=null);for(var r=0;r<n.length;)i=n[r],2===e.stopped||o&&i!==o&&!i.canRecognizeWith(o)?i.reset():i.recognize(t),!o&&14&i.state&&(e.curRecognizer=i,o=i),r++}},e.get=function(t){if(t instanceof ny)return t;for(var e=this.recognizers,i=0;i<e.length;i++)if(e[i].options.event===t)return e[i];return null},e.add=function(t){if(Qg(t,\"add\",this))return this;var e=this.get(t.options.event);return e&&this.remove(e),this.recognizers.push(t),t.manager=this,this.touchAction.update(),t},e.remove=function(t){if(Qg(t,\"remove\",this))return this;var e=this.get(t);if(t){var i=this.recognizers,n=Ig(i,e);-1!==n&&(i.splice(n,1),this.touchAction.update())}return this},e.on=function(t,e){if(void 0===t||void 0===e)return this;var i=this.handlers;return pg(Sg(t),(function(t){i[t]=i[t]||[],i[t].push(e)})),this},e.off=function(t,e){if(void 0===t)return this;var i=this.handlers;return pg(Sg(t),(function(t){e?i[t]&&i[t].splice(Ig(i[t],e),1):delete i[t]})),this},e.emit=function(t,e){this.options.domEvents&&function(t,e){var i=document.createEvent(\"Event\");i.initEvent(t,!0,!0),i.gesture=e,e.target.dispatchEvent(i)}(t,e);var i=this.handlers[t]&&this.handlers[t].slice();if(i&&i.length){e.type=t,e.preventDefault=function(){e.srcEvent.preventDefault()};for(var n=0;n<i.length;)i[n](e),n++}},e.destroy=function(){this.element&&py(this,!1),this.handlers={},this.session={},this.input.destroy(),this.element=null},t}(),gy={touchstart:1,touchmove:2,touchend:4,touchcancel:8},yy=\"touchstart\",my=\"touchstart touchmove touchend touchcancel\",by=function(t){function e(){var i,n=e.prototype;return n.evTarget=yy,n.evWin=my,(i=t.apply(this,arguments)||this).started=!1,i}return Lv(e,t),e.prototype.handler=function(t){var e=gy[t.type];if(1===e&&(this.started=!0),this.started){var i=wy.call(this,t,e);12&e&&i[0].length-i[1].length==0&&(this.started=!1),this.callback(this.manager,e,{pointers:i[0],changedPointers:i[1],pointerType:hg,srcEvent:t})}},e}(Dg);function wy(t,e){var i=jg(t.touches),n=jg(t.changedTouches);return 12&e&&(i=Rg(i.concat(n),\"identifier\",!0)),[i,n]}function ky(t,e,i){var n=\"DEPRECATED METHOD: \"+e+\"\\n\"+i+\" AT \\n\";return function(){var e=new Error(\"get-stack-trace\"),i=e&&e.stack?e.stack.replace(/^[^\\(]+?[\\n$]/gm,\"\").replace(/^\\s+at\\s+/gm,\"\").replace(/^Object.<anonymous>\\s*\\(/gm,\"{anonymous}()@\"):\"Unknown Stack Trace\",o=window.console&&(window.console.warn||window.console.log);return o&&o.call(window.console,n,i),t.apply(this,arguments)}}var _y=ky((function(t,e,i){for(var n=Object.keys(e),o=0;o<n.length;)(!i||i&&void 0===t[n[o]])&&(t[n[o]]=e[n[o]]),o++;return t}),\"extend\",\"Use `assign`.\"),xy=ky((function(t,e){return _y(t,e,!0)}),\"merge\",\"Use `assign`.\");function Ey(t,e,i){var n,o=e.prototype;(n=t.prototype=Object.create(o)).constructor=t,n._super=o,i&&qv(n,i)}function Oy(t,e){return function(){return t.apply(e,arguments)}}var Cy=function(){var t=function(t,e){return void 0===e&&(e={}),new vy(t,Rv({recognizers:fy.concat()},e))};return t.VERSION=\"2.0.17-rc\",t.DIRECTION_ALL=30,t.DIRECTION_DOWN=dg,t.DIRECTION_LEFT=2,t.DIRECTION_RIGHT=4,t.DIRECTION_UP=8,t.DIRECTION_HORIZONTAL=6,t.DIRECTION_VERTICAL=cg,t.DIRECTION_NONE=1,t.DIRECTION_DOWN=dg,t.INPUT_START=1,t.INPUT_MOVE=2,t.INPUT_END=4,t.INPUT_CANCEL=8,t.STATE_POSSIBLE=1,t.STATE_BEGAN=2,t.STATE_CHANGED=4,t.STATE_ENDED=8,t.STATE_RECOGNIZED=8,t.STATE_CANCELLED=16,t.STATE_FAILED=Jg,t.Manager=vy,t.Input=Dg,t.TouchAction=yg,t.TouchInput=Wg,t.MouseInput=Xg,t.PointerEventInput=Ag,t.TouchMouseInput=Zg,t.SingleTouchInput=by,t.Recognizer=ny,t.AttrRecognizer=ry,t.Tap=oy,t.Pan=ay,t.Swipe=hy,t.Pinch=ly,t.Rotate=dy,t.Press=cy,t.on=Tg,t.off=Mg,t.each=pg,t.merge=xy,t.extend=_y,t.bindFn=Oy,t.assign=qv,t.inherit=Ey,t.bindFn=Oy,t.prefixed=Kv,t.toArray=jg,t.inArray=Ig,t.uniqueArray=Rg,t.splitStr=Sg,t.boolOrFn=vg,t.hasParent=mg,t.addEventListeners=Tg,t.removeEventListeners=Mg,t.defaults=qv({},uy,{preset:fy}),t}(),Sy=Cy;function Ty(t,e){var i=bu(t);if(hd){var n=hd(t);e&&(n=Xf(n).call(n,(function(e){return bd(t,e).enumerable}))),i.push.apply(i,n)}return i}function My(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Fu(i=Ty(Object(o),!0)).call(i,(function(e){$d(t,e,o[e])})):Pd?Ad(t,Pd(o)):Fu(n=Ty(Object(o))).call(n,(function(e){Ud(t,e,bd(o,e))}))}return t}function Py(t,e){var i=void 0!==tu&&ih(t)||t[\"@@iterator\"];if(!i){if(lu(t)||(i=function(t,e){var i;if(!t)return;if(\"string\"==typeof t)return Dy(t,e);var n=au(i=Object.prototype.toString.call(t)).call(i,8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return ja(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dy(t,e)}(t))||e&&t&&\"number\"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Dy(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var Iy=tu(\"DELETE\");function By(t){for(var e,i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];return zy.apply(void 0,su(e=[{},t]).call(e,n))}function zy(){var t=Ny.apply(void 0,arguments);return Ay(t),t}function Ny(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];if(e.length<2)return e[0];var n;if(e.length>2)return Ny.apply(void 0,su(n=[zy(e[0],e[1])]).call(n,Jc(au(e).call(e,2))));var o,r=e[0],s=e[1],a=Py(hu(s));try{for(a.s();!(o=a.n()).done;){var h=o.value;Object.prototype.propertyIsEnumerable.call(s,h)&&(s[h]===Iy?delete r[h]:null===r[h]||null===s[h]||\"object\"!==Qc(r[h])||\"object\"!==Qc(s[h])||lu(r[h])||lu(s[h])?r[h]=Fy(s[h]):r[h]=Ny(r[h],s[h]))}}catch(t){a.e(t)}finally{a.f()}return r}function Fy(t){return lu(t)?gu(t).call(t,(function(t){return Fy(t)})):\"object\"===Qc(t)&&null!==t?Ny({},t):t}function Ay(t){for(var e=0,i=bu(t);e<i.length;e++){var n=i[e];t[n]===Iy?delete t[n]:\"object\"===Qc(t[n])&&null!==t[n]&&Ay(t[n])}}function jy(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return Ry(e.length?e:[Eu()])}function Ry(t){var e=function(){for(var t=Ly(),e=t(\" \"),i=t(\" \"),n=t(\" \"),o=0;o<arguments.length;o++)(e-=t(o<0||arguments.length<=o?void 0:arguments[o]))<0&&(e+=1),(i-=t(o<0||arguments.length<=o?void 0:arguments[o]))<0&&(i+=1),(n-=t(o<0||arguments.length<=o?void 0:arguments[o]))<0&&(n+=1);return[e,i,n]}(t),i=Kc(e,3),n=i[0],o=i[1],r=i[2],s=1,a=function(){var t=2091639*n+2.3283064365386963e-10*s;return n=o,o=r,r=t-(s=0|t)};return a.uint32=function(){return 4294967296*a()},a.fract53=function(){return a()+11102230246251565e-32*(2097152*a()|0)},a.algorithm=\"Alea\",a.seed=t,a.version=\"0.9\",a}function Ly(){var t=4022871197;return function(e){for(var i=e.toString(),n=0;n<i.length;n++){var o=.02519603282416938*(t+=i.charCodeAt(n));o-=t=o>>>0,t=(o*=t)>>>0,t+=4294967296*(o-=t)}return 2.3283064365386963e-10*(t>>>0)}}var Hy=\"undefined\"!=typeof window?window.Hammer||Sy:function(){return function(){var t=function(){};return{on:t,off:t,destroy:t,emit:t,get:function(){return{set:t}}}}()};function Wy(t){var e,i=this;this._cleanupQueue=[],this.active=!1,this._dom={container:t,overlay:document.createElement(\"div\")},this._dom.overlay.classList.add(\"vis-overlay\"),this._dom.container.appendChild(this._dom.overlay),this._cleanupQueue.push((function(){i._dom.overlay.parentNode.removeChild(i._dom.overlay)}));var n=Hy(this._dom.overlay);n.on(\"tap\",zn(e=this._onTapOverlay).call(e,this)),this._cleanupQueue.push((function(){n.destroy()}));var o=[\"tap\",\"doubletap\",\"press\",\"pinch\",\"pan\",\"panstart\",\"panmove\",\"panend\"];Fu(o).call(o,(function(t){n.on(t,(function(t){t.srcEvent.stopPropagation()}))})),document&&document.body&&(this._onClick=function(e){(function(t,e){for(;t;){if(t===e)return!0;t=t.parentNode}return!1})(e.target,t)||i.deactivate()},document.body.addEventListener(\"click\",this._onClick),this._cleanupQueue.push((function(){document.body.removeEventListener(\"click\",i._onClick)}))),this._escListener=function(t){(\"key\"in t?\"Escape\"===t.key:27===t.keyCode)&&i.deactivate()}}Wn(Wy.prototype),Wy.current=null,Wy.prototype.destroy=function(){var t,e;this.deactivate();var i,n=Py(Yu(t=ff(e=this._cleanupQueue).call(e,0)).call(t));try{for(n.s();!(i=n.n()).done;){(0,i.value)()}}catch(t){n.e(t)}finally{n.f()}},Wy.prototype.activate=function(){Wy.current&&Wy.current.deactivate(),Wy.current=this,this.active=!0,this._dom.overlay.style.display=\"none\",this._dom.container.classList.add(\"vis-active\"),this.emit(\"change\"),this.emit(\"activate\"),document.body.addEventListener(\"keydown\",this._escListener)},Wy.prototype.deactivate=function(){this.active=!1,this._dom.overlay.style.display=\"block\",this._dom.container.classList.remove(\"vis-active\"),document.body.removeEventListener(\"keydown\",this._escListener),this.emit(\"change\"),this.emit(\"deactivate\")},Wy.prototype._onTapOverlay=function(t){this.activate(),t.srcEvent.stopPropagation()};var qy=/^\\/?Date\\((-?\\d+)/i,Vy=/^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i,Uy=/^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i,Yy=/^rgb\\( *(1?\\d{1,2}|2[0-4]\\d|25[0-5]) *, *(1?\\d{1,2}|2[0-4]\\d|25[0-5]) *, *(1?\\d{1,2}|2[0-4]\\d|25[0-5]) *\\)$/i,Xy=/^rgba\\( *(1?\\d{1,2}|2[0-4]\\d|25[0-5]) *, *(1?\\d{1,2}|2[0-4]\\d|25[0-5]) *, *(1?\\d{1,2}|2[0-4]\\d|25[0-5]) *, *([01]|0?\\.\\d+) *\\)$/i;function Gy(t){return t instanceof Number||\"number\"==typeof t}function Ky(t){if(t)for(;!0===t.hasChildNodes();){var e=t.firstChild;e&&(Ky(e),t.removeChild(e))}}function $y(t){return t instanceof String||\"string\"==typeof t}function Zy(t){return\"object\"===Qc(t)&&null!==t}function Qy(t,e,i,n){var o=!1;!0===n&&(o=null===e[i]&&void 0!==t[i]),o?delete t[i]:t[i]=e[i]}function Jy(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];for(var n in t)if(void 0!==e[n])if(null===e[n]||\"object\"!==Qc(e[n]))Qy(t,e,n,i);else{var o=t[n],r=e[n];Zy(o)&&Zy(r)&&Jy(o,r,i)}}var tm=un;function em(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(lu(i))throw new TypeError(\"Arrays are not supported by deepExtend\");for(var o=0;o<t.length;o++){var r=t[o];if(Object.prototype.hasOwnProperty.call(i,r))if(i[r]&&i[r].constructor===Object)void 0===e[r]&&(e[r]={}),e[r].constructor===Object?nm(e[r],i[r],!1,n):Qy(e,i,r,n);else{if(lu(i[r]))throw new TypeError(\"Arrays are not supported by deepExtend\");Qy(e,i,r,n)}}return e}function im(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(lu(i))throw new TypeError(\"Arrays are not supported by deepExtend\");for(var o in i)if(Object.prototype.hasOwnProperty.call(i,o)&&!Nf(t).call(t,o))if(i[o]&&i[o].constructor===Object)void 0===e[o]&&(e[o]={}),e[o].constructor===Object?nm(e[o],i[o]):Qy(e,i,o,n);else if(lu(i[o])){e[o]=[];for(var r=0;r<i[o].length;r++)e[o].push(i[o][r])}else Qy(e,i,o,n);return e}function nm(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];for(var o in e)if(Object.prototype.hasOwnProperty.call(e,o)||!0===i)if(\"object\"===Qc(e[o])&&null!==e[o]&&Lf(e[o])===Object.prototype)void 0===t[o]?t[o]=nm({},e[o],i):\"object\"===Qc(t[o])&&null!==t[o]&&Lf(t[o])===Object.prototype?nm(t[o],e[o],i):Qy(t,e,o,n);else if(lu(e[o])){var r;t[o]=au(r=e[o]).call(r)}else Qy(t,e,o,n);return t}function om(t,e){var i;return su(i=[]).call(i,Jc(t),[e])}function rm(t){return au(t).call(t)}function sm(t){return t.getBoundingClientRect().left}function am(t){return t.getBoundingClientRect().top}function hm(t,e){if(lu(t))for(var i=t.length,n=0;n<i;n++)e(t[n],n,t);else for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&e(t[o],o,t)}var lm=ip;function dm(t,e,i,n){var o;t.addEventListener?(void 0===n&&(n=!1),\"mousewheel\"===e&&Nf(o=navigator.userAgent).call(o,\"Firefox\")&&(e=\"DOMMouseScroll\"),t.addEventListener(e,i,n)):t.attachEvent(\"on\"+e,i)}function cm(t,e,i,n){var o;t.removeEventListener?(void 0===n&&(n=!1),\"mousewheel\"===e&&Nf(o=navigator.userAgent).call(o,\"Firefox\")&&(e=\"DOMMouseScroll\"),t.removeEventListener(e,i,n)):t.detachEvent(\"on\"+e,i)}var um={asBoolean:function(t,e){return\"function\"==typeof t&&(t=t()),null!=t?0!=t:e||null},asNumber:function(t,e){return\"function\"==typeof t&&(t=t()),null!=t?Number(t)||e||null:e||null},asString:function(t,e){return\"function\"==typeof t&&(t=t()),null!=t?String(t):e||null},asSize:function(t,e){return\"function\"==typeof t&&(t=t()),$y(t)?t:Gy(t)?t+\"px\":e||null},asElement:function(t,e){return\"function\"==typeof t&&(t=t()),t||e||null}};function fm(t){var e;switch(t.length){case 3:case 4:return(e=Uy.exec(t))?{r:Ep(e[1]+e[1],16),g:Ep(e[2]+e[2],16),b:Ep(e[3]+e[3],16)}:null;case 6:case 7:return(e=Vy.exec(t))?{r:Ep(e[1],16),g:Ep(e[2],16),b:Ep(e[3],16)}:null;default:return null}}function pm(t,e){if(Nf(t).call(t,\"rgba\"))return t;if(Nf(t).call(t,\"rgb\")){var i=t.substr(Fp(t).call(t,\"(\")+1).replace(\")\",\"\").split(\",\");return\"rgba(\"+i[0]+\",\"+i[1]+\",\"+i[2]+\",\"+e+\")\"}var n=fm(t);return null==n?t:\"rgba(\"+n.r+\",\"+n.g+\",\"+n.b+\",\"+e+\")\"}function vm(t,e,i){var n;return\"#\"+au(n=((1<<24)+(t<<16)+(e<<8)+i).toString(16)).call(n,1)}function gm(t,e){if($y(t)){var i=t;if(Em(i)){var n,o=gu(n=i.substr(4).substr(0,i.length-5).split(\",\")).call(n,(function(t){return Ep(t)}));i=vm(o[0],o[1],o[2])}if(!0===xm(i)){var r=_m(i),s={h:r.h,s:.8*r.s,v:Math.min(1,1.02*r.v)},a={h:r.h,s:Math.min(1,1.25*r.s),v:.8*r.v},h=km(a.h,a.s,a.v),l=km(s.h,s.s,s.v);return{background:i,border:h,highlight:{background:l,border:h},hover:{background:l,border:h}}}return{background:i,border:i,highlight:{background:i,border:i},hover:{background:i,border:i}}}return e?{background:t.background||e.background,border:t.border||e.border,highlight:$y(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||e.highlight.background,border:t.highlight&&t.highlight.border||e.highlight.border},hover:$y(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||e.hover.border,background:t.hover&&t.hover.background||e.hover.background}}:{background:t.background||void 0,border:t.border||void 0,highlight:$y(t.highlight)?{border:t.highlight,background:t.highlight}:{background:t.highlight&&t.highlight.background||void 0,border:t.highlight&&t.highlight.border||void 0},hover:$y(t.hover)?{border:t.hover,background:t.hover}:{border:t.hover&&t.hover.border||void 0,background:t.hover&&t.hover.background||void 0}}}function ym(t,e,i){t/=255,e/=255,i/=255;var n=Math.min(t,Math.min(e,i)),o=Math.max(t,Math.max(e,i));return n===o?{h:0,s:0,v:n}:{h:60*((t===n?3:i===n?1:5)-(t===n?e-i:i===n?t-e:i-t)/(o-n))/360,s:(o-n)/o,v:o}}var mm=function(t){var e,i={};return Fu(e=t.split(\";\")).call(e,(function(t){if(\"\"!=Yp(t).call(t)){var e,n,o=t.split(\":\"),r=Yp(e=o[0]).call(e),s=Yp(n=o[1]).call(n);i[r]=s}})),i},bm=function(t){var e;return gu(e=bu(t)).call(e,(function(e){return e+\": \"+t[e]})).join(\"; \")};function wm(t,e,i){var n,o,r,s=Math.floor(6*t),a=6*t-s,h=i*(1-e),l=i*(1-a*e),d=i*(1-(1-a)*e);switch(s%6){case 0:n=i,o=d,r=h;break;case 1:n=l,o=i,r=h;break;case 2:n=h,o=i,r=d;break;case 3:n=h,o=l,r=i;break;case 4:n=d,o=h,r=i;break;case 5:n=i,o=h,r=l}return{r:Math.floor(255*n),g:Math.floor(255*o),b:Math.floor(255*r)}}function km(t,e,i){var n=wm(t,e,i);return vm(n.r,n.g,n.b)}function _m(t){var e=fm(t);if(!e)throw new TypeError(\"'\".concat(t,\"' is not a valid color.\"));return ym(e.r,e.g,e.b)}function xm(t){return/(^#[0-9A-F]{6}$)|(^#[0-9A-F]{3}$)/i.test(t)}function Em(t){return Yy.test(t)}function Om(t){return Xy.test(t)}function Cm(t){if(null===t||\"object\"!==Qc(t))return null;if(t instanceof Element)return t;var e=Kp(t);for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&\"object\"==Qc(t[i])&&(e[i]=Cm(t[i]));return e}function Sm(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=function(t){return null!=t},r=function(t){return null!==t&&\"object\"===Qc(t)},s=function(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e))return!1;return!0};if(!r(t))throw new Error(\"Parameter mergeTarget must be an object\");if(!r(e))throw new Error(\"Parameter options must be an object\");if(!o(i))throw new Error(\"Parameter option must have a value\");if(!r(n))throw new Error(\"Parameter globalOptions must be an object\");var a=function(t,e,i){r(t[i])||(t[i]={});var n=e[i],o=t[i];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(o[s]=n[s])},h=e[i],l=r(n)&&!s(n),d=l?n[i]:void 0,c=d?d.enabled:void 0;if(void 0!==h){if(\"boolean\"==typeof h)return r(t[i])||(t[i]={}),void(t[i].enabled=h);if(null===h&&!r(t[i])){if(!o(d))return;t[i]=Kp(d)}if(r(h)){var u=!0;void 0!==h.enabled?u=h.enabled:void 0!==c&&(u=d.enabled),a(t,e,i),t[i].enabled=u}}}var Tm={linear:function(t){return t},easeInQuad:function(t){return t*t},easeOutQuad:function(t){return t*(2-t)},easeInOutQuad:function(t){return t<.5?2*t*t:(4-2*t)*t-1},easeInCubic:function(t){return t*t*t},easeOutCubic:function(t){return--t*t*t+1},easeInOutCubic:function(t){return t<.5?4*t*t*t:(t-1)*(2*t-2)*(2*t-2)+1},easeInQuart:function(t){return t*t*t*t},easeOutQuart:function(t){return 1- --t*t*t*t},easeInOutQuart:function(t){return t<.5?8*t*t*t*t:1-8*--t*t*t*t},easeInQuint:function(t){return t*t*t*t*t},easeOutQuint:function(t){return 1+--t*t*t*t*t},easeInOutQuint:function(t){return t<.5?16*t*t*t*t*t:1+16*--t*t*t*t*t}};function Mm(t,e){var i;lu(e)||(e=[e]);var n,o=Py(t);try{for(o.s();!(n=o.n()).done;){var r=n.value;if(r){i=r[e[0]];for(var s=1;s<e.length;s++)i&&(i=i[e[s]]);if(void 0!==i)break}}}catch(t){o.e(t)}finally{o.f()}return i}var Pm={black:\"#000000\",navy:\"#000080\",darkblue:\"#00008B\",mediumblue:\"#0000CD\",blue:\"#0000FF\",darkgreen:\"#006400\",green:\"#008000\",teal:\"#008080\",darkcyan:\"#008B8B\",deepskyblue:\"#00BFFF\",darkturquoise:\"#00CED1\",mediumspringgreen:\"#00FA9A\",lime:\"#00FF00\",springgreen:\"#00FF7F\",aqua:\"#00FFFF\",cyan:\"#00FFFF\",midnightblue:\"#191970\",dodgerblue:\"#1E90FF\",lightseagreen:\"#20B2AA\",forestgreen:\"#228B22\",seagreen:\"#2E8B57\",darkslategray:\"#2F4F4F\",limegreen:\"#32CD32\",mediumseagreen:\"#3CB371\",turquoise:\"#40E0D0\",royalblue:\"#4169E1\",steelblue:\"#4682B4\",darkslateblue:\"#483D8B\",mediumturquoise:\"#48D1CC\",indigo:\"#4B0082\",darkolivegreen:\"#556B2F\",cadetblue:\"#5F9EA0\",cornflowerblue:\"#6495ED\",mediumaquamarine:\"#66CDAA\",dimgray:\"#696969\",slateblue:\"#6A5ACD\",olivedrab:\"#6B8E23\",slategray:\"#708090\",lightslategray:\"#778899\",mediumslateblue:\"#7B68EE\",lawngreen:\"#7CFC00\",chartreuse:\"#7FFF00\",aquamarine:\"#7FFFD4\",maroon:\"#800000\",purple:\"#800080\",olive:\"#808000\",gray:\"#808080\",skyblue:\"#87CEEB\",lightskyblue:\"#87CEFA\",blueviolet:\"#8A2BE2\",darkred:\"#8B0000\",darkmagenta:\"#8B008B\",saddlebrown:\"#8B4513\",darkseagreen:\"#8FBC8F\",lightgreen:\"#90EE90\",mediumpurple:\"#9370D8\",darkviolet:\"#9400D3\",palegreen:\"#98FB98\",darkorchid:\"#9932CC\",yellowgreen:\"#9ACD32\",sienna:\"#A0522D\",brown:\"#A52A2A\",darkgray:\"#A9A9A9\",lightblue:\"#ADD8E6\",greenyellow:\"#ADFF2F\",paleturquoise:\"#AFEEEE\",lightsteelblue:\"#B0C4DE\",powderblue:\"#B0E0E6\",firebrick:\"#B22222\",darkgoldenrod:\"#B8860B\",mediumorchid:\"#BA55D3\",rosybrown:\"#BC8F8F\",darkkhaki:\"#BDB76B\",silver:\"#C0C0C0\",mediumvioletred:\"#C71585\",indianred:\"#CD5C5C\",peru:\"#CD853F\",chocolate:\"#D2691E\",tan:\"#D2B48C\",lightgrey:\"#D3D3D3\",palevioletred:\"#D87093\",thistle:\"#D8BFD8\",orchid:\"#DA70D6\",goldenrod:\"#DAA520\",crimson:\"#DC143C\",gainsboro:\"#DCDCDC\",plum:\"#DDA0DD\",burlywood:\"#DEB887\",lightcyan:\"#E0FFFF\",lavender:\"#E6E6FA\",darksalmon:\"#E9967A\",violet:\"#EE82EE\",palegoldenrod:\"#EEE8AA\",lightcoral:\"#F08080\",khaki:\"#F0E68C\",aliceblue:\"#F0F8FF\",honeydew:\"#F0FFF0\",azure:\"#F0FFFF\",sandybrown:\"#F4A460\",wheat:\"#F5DEB3\",beige:\"#F5F5DC\",whitesmoke:\"#F5F5F5\",mintcream:\"#F5FFFA\",ghostwhite:\"#F8F8FF\",salmon:\"#FA8072\",antiquewhite:\"#FAEBD7\",linen:\"#FAF0E6\",lightgoldenrodyellow:\"#FAFAD2\",oldlace:\"#FDF5E6\",red:\"#FF0000\",fuchsia:\"#FF00FF\",magenta:\"#FF00FF\",deeppink:\"#FF1493\",orangered:\"#FF4500\",tomato:\"#FF6347\",hotpink:\"#FF69B4\",coral:\"#FF7F50\",darkorange:\"#FF8C00\",lightsalmon:\"#FFA07A\",orange:\"#FFA500\",lightpink:\"#FFB6C1\",pink:\"#FFC0CB\",gold:\"#FFD700\",peachpuff:\"#FFDAB9\",navajowhite:\"#FFDEAD\",moccasin:\"#FFE4B5\",bisque:\"#FFE4C4\",mistyrose:\"#FFE4E1\",blanchedalmond:\"#FFEBCD\",papayawhip:\"#FFEFD5\",lavenderblush:\"#FFF0F5\",seashell:\"#FFF5EE\",cornsilk:\"#FFF8DC\",lemonchiffon:\"#FFFACD\",floralwhite:\"#FFFAF0\",snow:\"#FFFAFA\",yellow:\"#FFFF00\",lightyellow:\"#FFFFE0\",ivory:\"#FFFFF0\",white:\"#FFFFFF\"},Dm=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;Yd(this,t),this.pixelRatio=e,this.generated=!1,this.centerCoordinates={x:144.5,y:144.5},this.r=289*.49,this.color={r:255,g:255,b:255,a:1},this.hueCircle=void 0,this.initialColor={r:255,g:255,b:255,a:1},this.previousColor=void 0,this.applied=!1,this.updateCallback=function(){},this.closeCallback=function(){},this._create()}return Kd(t,[{key:\"insertTo\",value:function(t){void 0!==this.hammer&&(this.hammer.destroy(),this.hammer=void 0),this.container=t,this.container.appendChild(this.frame),this._bindHammer(),this._setSize()}},{key:\"setUpdateCallback\",value:function(t){if(\"function\"!=typeof t)throw new Error(\"Function attempted to set as colorPicker update callback is not a function.\");this.updateCallback=t}},{key:\"setCloseCallback\",value:function(t){if(\"function\"!=typeof t)throw new Error(\"Function attempted to set as colorPicker closing callback is not a function.\");this.closeCallback=t}},{key:\"_isColorString\",value:function(t){if(\"string\"==typeof t)return Pm[t]}},{key:\"setColor\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(\"none\"!==t){var i,n=this._isColorString(t);if(void 0!==n&&(t=n),!0===$y(t)){if(!0===Em(t)){var o=t.substr(4).substr(0,t.length-5).split(\",\");i={r:o[0],g:o[1],b:o[2],a:1}}else if(!0===Om(t)){var r=t.substr(5).substr(0,t.length-6).split(\",\");i={r:r[0],g:r[1],b:r[2],a:r[3]}}else if(!0===xm(t)){var s=fm(t);i={r:s.r,g:s.g,b:s.b,a:1}}}else if(t instanceof Object&&void 0!==t.r&&void 0!==t.g&&void 0!==t.b){var a=void 0!==t.a?t.a:\"1.0\";i={r:t.r,g:t.g,b:t.b,a:a}}if(void 0===i)throw new Error(\"Unknown color passed to the colorPicker. Supported are strings: rgb, hex, rgba. Object: rgb ({r:r,g:g,b:b,[a:a]}). Supplied: \"+gv(t));this._setColor(i,e)}}},{key:\"show\",value:function(){void 0!==this.closeCallback&&(this.closeCallback(),this.closeCallback=void 0),this.applied=!1,this.frame.style.display=\"block\",this._generateHueCircle()}},{key:\"_hide\",value:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];!0===e&&(this.previousColor=un({},this.color)),!0===this.applied&&this.updateCallback(this.initialColor),this.frame.style.display=\"none\",Sv((function(){void 0!==t.closeCallback&&(t.closeCallback(),t.closeCallback=void 0)}),0)}},{key:\"_save\",value:function(){this.updateCallback(this.color),this.applied=!1,this._hide()}},{key:\"_apply\",value:function(){this.applied=!0,this.updateCallback(this.color),this._updatePicker(this.color)}},{key:\"_loadLast\",value:function(){void 0!==this.previousColor?this.setColor(this.previousColor,!1):alert(\"There is no last color to load...\")}},{key:\"_setColor\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];!0===e&&(this.initialColor=un({},t)),this.color=t;var i=ym(t.r,t.g,t.b),n=2*Math.PI,o=this.r*i.s,r=this.centerCoordinates.x+o*Math.sin(n*i.h),s=this.centerCoordinates.y+o*Math.cos(n*i.h);this.colorPickerSelector.style.left=r-.5*this.colorPickerSelector.clientWidth+\"px\",this.colorPickerSelector.style.top=s-.5*this.colorPickerSelector.clientHeight+\"px\",this._updatePicker(t)}},{key:\"_setOpacity\",value:function(t){this.color.a=t/100,this._updatePicker(this.color)}},{key:\"_setBrightness\",value:function(t){var e=ym(this.color.r,this.color.g,this.color.b);e.v=t/100;var i=wm(e.h,e.s,e.v);i.a=this.color.a,this.color=i,this._updatePicker()}},{key:\"_updatePicker\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.color,e=ym(t.r,t.g,t.b),i=this.colorPickerCanvas.getContext(\"2d\");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(i.webkitBackingStorePixelRatio||i.mozBackingStorePixelRatio||i.msBackingStorePixelRatio||i.oBackingStorePixelRatio||i.backingStorePixelRatio||1)),i.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var n=this.colorPickerCanvas.clientWidth,o=this.colorPickerCanvas.clientHeight;i.clearRect(0,0,n,o),i.putImageData(this.hueCircle,0,0),i.fillStyle=\"rgba(0,0,0,\"+(1-e.v)+\")\",i.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),jv(i).call(i),this.brightnessRange.value=100*e.v,this.opacityRange.value=100*t.a,this.initialColorDiv.style.backgroundColor=\"rgba(\"+this.initialColor.r+\",\"+this.initialColor.g+\",\"+this.initialColor.b+\",\"+this.initialColor.a+\")\",this.newColorDiv.style.backgroundColor=\"rgba(\"+this.color.r+\",\"+this.color.g+\",\"+this.color.b+\",\"+this.color.a+\")\"}},{key:\"_setSize\",value:function(){this.colorPickerCanvas.style.width=\"100%\",this.colorPickerCanvas.style.height=\"100%\",this.colorPickerCanvas.width=289*this.pixelRatio,this.colorPickerCanvas.height=289*this.pixelRatio}},{key:\"_create\",value:function(){var t,e,i,n;if(this.frame=document.createElement(\"div\"),this.frame.className=\"vis-color-picker\",this.colorPickerDiv=document.createElement(\"div\"),this.colorPickerSelector=document.createElement(\"div\"),this.colorPickerSelector.className=\"vis-selector\",this.colorPickerDiv.appendChild(this.colorPickerSelector),this.colorPickerCanvas=document.createElement(\"canvas\"),this.colorPickerDiv.appendChild(this.colorPickerCanvas),this.colorPickerCanvas.getContext){var o=this.colorPickerCanvas.getContext(\"2d\");this.pixelRatio=(window.devicePixelRatio||1)/(o.webkitBackingStorePixelRatio||o.mozBackingStorePixelRatio||o.msBackingStorePixelRatio||o.oBackingStorePixelRatio||o.backingStorePixelRatio||1),this.colorPickerCanvas.getContext(\"2d\").setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}else{var r=document.createElement(\"DIV\");r.style.color=\"red\",r.style.fontWeight=\"bold\",r.style.padding=\"10px\",r.innerText=\"Error: your browser does not support HTML canvas\",this.colorPickerCanvas.appendChild(r)}this.colorPickerDiv.className=\"vis-color\",this.opacityDiv=document.createElement(\"div\"),this.opacityDiv.className=\"vis-opacity\",this.brightnessDiv=document.createElement(\"div\"),this.brightnessDiv.className=\"vis-brightness\",this.arrowDiv=document.createElement(\"div\"),this.arrowDiv.className=\"vis-arrow\",this.opacityRange=document.createElement(\"input\");try{this.opacityRange.type=\"range\",this.opacityRange.min=\"0\",this.opacityRange.max=\"100\"}catch(t){}this.opacityRange.value=\"100\",this.opacityRange.className=\"vis-range\",this.brightnessRange=document.createElement(\"input\");try{this.brightnessRange.type=\"range\",this.brightnessRange.min=\"0\",this.brightnessRange.max=\"100\"}catch(t){}this.brightnessRange.value=\"100\",this.brightnessRange.className=\"vis-range\",this.opacityDiv.appendChild(this.opacityRange),this.brightnessDiv.appendChild(this.brightnessRange);var s=this;this.opacityRange.onchange=function(){s._setOpacity(this.value)},this.opacityRange.oninput=function(){s._setOpacity(this.value)},this.brightnessRange.onchange=function(){s._setBrightness(this.value)},this.brightnessRange.oninput=function(){s._setBrightness(this.value)},this.brightnessLabel=document.createElement(\"div\"),this.brightnessLabel.className=\"vis-label vis-brightness\",this.brightnessLabel.innerText=\"brightness:\",this.opacityLabel=document.createElement(\"div\"),this.opacityLabel.className=\"vis-label vis-opacity\",this.opacityLabel.innerText=\"opacity:\",this.newColorDiv=document.createElement(\"div\"),this.newColorDiv.className=\"vis-new-color\",this.newColorDiv.innerText=\"new\",this.initialColorDiv=document.createElement(\"div\"),this.initialColorDiv.className=\"vis-initial-color\",this.initialColorDiv.innerText=\"initial\",this.cancelButton=document.createElement(\"div\"),this.cancelButton.className=\"vis-button vis-cancel\",this.cancelButton.innerText=\"cancel\",this.cancelButton.onclick=zn(t=this._hide).call(t,this,!1),this.applyButton=document.createElement(\"div\"),this.applyButton.className=\"vis-button vis-apply\",this.applyButton.innerText=\"apply\",this.applyButton.onclick=zn(e=this._apply).call(e,this),this.saveButton=document.createElement(\"div\"),this.saveButton.className=\"vis-button vis-save\",this.saveButton.innerText=\"save\",this.saveButton.onclick=zn(i=this._save).call(i,this),this.loadButton=document.createElement(\"div\"),this.loadButton.className=\"vis-button vis-load\",this.loadButton.innerText=\"load last\",this.loadButton.onclick=zn(n=this._loadLast).call(n,this),this.frame.appendChild(this.colorPickerDiv),this.frame.appendChild(this.arrowDiv),this.frame.appendChild(this.brightnessLabel),this.frame.appendChild(this.brightnessDiv),this.frame.appendChild(this.opacityLabel),this.frame.appendChild(this.opacityDiv),this.frame.appendChild(this.newColorDiv),this.frame.appendChild(this.initialColorDiv),this.frame.appendChild(this.cancelButton),this.frame.appendChild(this.applyButton),this.frame.appendChild(this.saveButton),this.frame.appendChild(this.loadButton)}},{key:\"_bindHammer\",value:function(){var t=this;this.drag={},this.pinch={},this.hammer=new Hy(this.colorPickerCanvas),this.hammer.get(\"pinch\").set({enable:!0}),this.hammer.on(\"hammer.input\",(function(e){e.isFirst&&t._moveSelector(e)})),this.hammer.on(\"tap\",(function(e){t._moveSelector(e)})),this.hammer.on(\"panstart\",(function(e){t._moveSelector(e)})),this.hammer.on(\"panmove\",(function(e){t._moveSelector(e)})),this.hammer.on(\"panend\",(function(e){t._moveSelector(e)}))}},{key:\"_generateHueCircle\",value:function(){if(!1===this.generated){var t=this.colorPickerCanvas.getContext(\"2d\");void 0===this.pixelRation&&(this.pixelRatio=(window.devicePixelRatio||1)/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)),t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0);var e,i,n,o,r=this.colorPickerCanvas.clientWidth,s=this.colorPickerCanvas.clientHeight;t.clearRect(0,0,r,s),this.centerCoordinates={x:.5*r,y:.5*s},this.r=.49*r;var a,h=2*Math.PI/360,l=1/this.r;for(n=0;n<360;n++)for(o=0;o<this.r;o++)e=this.centerCoordinates.x+o*Math.sin(h*n),i=this.centerCoordinates.y+o*Math.cos(h*n),a=wm(.002777777777777778*n,o*l,1),t.fillStyle=\"rgb(\"+a.r+\",\"+a.g+\",\"+a.b+\")\",t.fillRect(e-.5,i-.5,2,2);t.strokeStyle=\"rgba(0,0,0,1)\",t.circle(this.centerCoordinates.x,this.centerCoordinates.y,this.r),t.stroke(),this.hueCircle=t.getImageData(0,0,r,s)}this.generated=!0}},{key:\"_moveSelector\",value:function(t){var e=this.colorPickerDiv.getBoundingClientRect(),i=t.center.x-e.left,n=t.center.y-e.top,o=.5*this.colorPickerDiv.clientHeight,r=.5*this.colorPickerDiv.clientWidth,s=i-r,a=n-o,h=Math.atan2(s,a),l=.98*Math.min(Math.sqrt(s*s+a*a),r),d=Math.cos(h)*l+o,c=Math.sin(h)*l+r;this.colorPickerSelector.style.top=d-.5*this.colorPickerSelector.clientHeight+\"px\",this.colorPickerSelector.style.left=c-.5*this.colorPickerSelector.clientWidth+\"px\";var u=h/(2*Math.PI);u=u<0?u+1:u;var f=l/this.r,p=ym(this.color.r,this.color.g,this.color.b);p.h=u,p.s=f;var v=wm(p.h,p.s,p.v);v.a=this.color.a,this.color=v,this.initialColorDiv.style.backgroundColor=\"rgba(\"+this.initialColor.r+\",\"+this.initialColor.g+\",\"+this.initialColor.b+\",\"+this.initialColor.a+\")\",this.newColorDiv.style.backgroundColor=\"rgba(\"+this.color.r+\",\"+this.color.g+\",\"+this.color.b+\",\"+this.color.a+\")\"}}]),t}();function Im(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];if(e.length<1)throw new TypeError(\"Invalid arguments.\");if(1===e.length)return document.createTextNode(e[0]);var n=document.createElement(e[0]);return n.appendChild(Im.apply(void 0,Jc(au(e).call(e,1)))),n}var Bm,zm=function(){function t(e,i,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){return!1};Yd(this,t),this.parent=e,this.changedOptions=[],this.container=i,this.allowCreation=!1,this.hideOption=r,this.options={},this.initialized=!1,this.popupCounter=0,this.defaultOptions={enabled:!1,filter:!0,container:void 0,showButton:!0},un(this.options,this.defaultOptions),this.configureOptions=n,this.moduleOptions={},this.domElements=[],this.popupDiv={},this.popupLimit=5,this.popupHistory={},this.colorPicker=new Dm(o),this.wrapper=void 0}return Kd(t,[{key:\"setOptions\",value:function(t){if(void 0!==t){this.popupHistory={},this._removePopup();var e=!0;if(\"string\"==typeof t)this.options.filter=t;else if(lu(t))this.options.filter=t.join();else if(\"object\"===Qc(t)){if(null==t)throw new TypeError(\"options cannot be null\");void 0!==t.container&&(this.options.container=t.container),void 0!==Xf(t)&&(this.options.filter=Xf(t)),void 0!==t.showButton&&(this.options.showButton=t.showButton),void 0!==t.enabled&&(e=t.enabled)}else\"boolean\"==typeof t?(this.options.filter=!0,e=t):\"function\"==typeof t&&(this.options.filter=t,e=!0);!1===Xf(this.options)&&(e=!1),this.options.enabled=e}this._clean()}},{key:\"setModuleOptions\",value:function(t){this.moduleOptions=t,!0===this.options.enabled&&(this._clean(),void 0!==this.options.container&&(this.container=this.options.container),this._create())}},{key:\"_create\",value:function(){this._clean(),this.changedOptions=[];var t=Xf(this.options),e=0,i=!1;for(var n in this.configureOptions)Object.prototype.hasOwnProperty.call(this.configureOptions,n)&&(this.allowCreation=!1,i=!1,\"function\"==typeof t?i=(i=t(n,[]))||this._handleObject(this.configureOptions[n],[n],!0):!0!==t&&-1===Fp(t).call(t,n)||(i=!0),!1!==i&&(this.allowCreation=!0,e>0&&this._makeItem([]),this._makeHeader(n),this._handleObject(this.configureOptions[n],[n])),e++);this._makeButton(),this._push()}},{key:\"_push\",value:function(){this.wrapper=document.createElement(\"div\"),this.wrapper.className=\"vis-configuration-wrapper\",this.container.appendChild(this.wrapper);for(var t=0;t<this.domElements.length;t++)this.wrapper.appendChild(this.domElements[t]);this._showPopupIfNeeded()}},{key:\"_clean\",value:function(){for(var t=0;t<this.domElements.length;t++)this.wrapper.removeChild(this.domElements[t]);void 0!==this.wrapper&&(this.container.removeChild(this.wrapper),this.wrapper=void 0),this.domElements=[],this._removePopup()}},{key:\"_getValue\",value:function(t){for(var e=this.moduleOptions,i=0;i<t.length;i++){if(void 0===e[t[i]]){e=void 0;break}e=e[t[i]]}return e}},{key:\"_makeItem\",value:function(t){if(!0===this.allowCreation){var e=document.createElement(\"div\");e.className=\"vis-configuration vis-config-item vis-config-s\"+t.length;for(var i=arguments.length,n=new Array(i>1?i-1:0),o=1;o<i;o++)n[o-1]=arguments[o];return Fu(n).call(n,(function(t){e.appendChild(t)})),this.domElements.push(e),this.domElements.length}return 0}},{key:\"_makeHeader\",value:function(t){var e=document.createElement(\"div\");e.className=\"vis-configuration vis-config-header\",e.innerText=t,this._makeItem([],e)}},{key:\"_makeLabel\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=document.createElement(\"div\");if(n.className=\"vis-configuration vis-config-label vis-config-s\"+e.length,!0===i){for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(Im(\"i\",\"b\",t))}else n.innerText=t+\":\";return n}},{key:\"_makeDropdown\",value:function(t,e,i){var n=document.createElement(\"select\");n.className=\"vis-configuration vis-config-select\";var o=0;void 0!==e&&-1!==Fp(t).call(t,e)&&(o=Fp(t).call(t,e));for(var r=0;r<t.length;r++){var s=document.createElement(\"option\");s.value=t[r],r===o&&(s.selected=\"selected\"),s.innerText=t[r],n.appendChild(s)}var a=this;n.onchange=function(){a._update(this.value,i)};var h=this._makeLabel(i[i.length-1],i);this._makeItem(i,h,n)}},{key:\"_makeRange\",value:function(t,e,i){var n=t[0],o=t[1],r=t[2],s=t[3],a=document.createElement(\"input\");a.className=\"vis-configuration vis-config-range\";try{a.type=\"range\",a.min=o,a.max=r}catch(t){}a.step=s;var h=\"\",l=0;if(void 0!==e){var d=1.2;e<0&&e*d<o?(a.min=Math.ceil(e*d),l=a.min,h=\"range increased\"):e/d<o&&(a.min=Math.ceil(e/d),l=a.min,h=\"range increased\"),e*d>r&&1!==r&&(a.max=Math.ceil(e*d),l=a.max,h=\"range increased\"),a.value=e}else a.value=n;var c=document.createElement(\"input\");c.className=\"vis-configuration vis-config-rangeinput\",c.value=a.value;var u=this;a.onchange=function(){c.value=this.value,u._update(Number(this.value),i)},a.oninput=function(){c.value=this.value};var f=this._makeLabel(i[i.length-1],i),p=this._makeItem(i,f,a,c);\"\"!==h&&this.popupHistory[p]!==l&&(this.popupHistory[p]=l,this._setupPopup(h,p))}},{key:\"_makeButton\",value:function(){var t=this;if(!0===this.options.showButton){var e=document.createElement(\"div\");e.className=\"vis-configuration vis-config-button\",e.innerText=\"generate options\",e.onclick=function(){t._printOptions()},e.onmouseover=function(){e.className=\"vis-configuration vis-config-button hover\"},e.onmouseout=function(){e.className=\"vis-configuration vis-config-button\"},this.optionsContainer=document.createElement(\"div\"),this.optionsContainer.className=\"vis-configuration vis-config-option-container\",this.domElements.push(this.optionsContainer),this.domElements.push(e)}}},{key:\"_setupPopup\",value:function(t,e){var i=this;if(!0===this.initialized&&!0===this.allowCreation&&this.popupCounter<this.popupLimit){var n=document.createElement(\"div\");n.id=\"vis-configuration-popup\",n.className=\"vis-configuration-popup\",n.innerText=t,n.onclick=function(){i._removePopup()},this.popupCounter+=1,this.popupDiv={html:n,index:e}}}},{key:\"_removePopup\",value:function(){void 0!==this.popupDiv.html&&(this.popupDiv.html.parentNode.removeChild(this.popupDiv.html),clearTimeout(this.popupDiv.hideTimeout),clearTimeout(this.popupDiv.deleteTimeout),this.popupDiv={})}},{key:\"_showPopupIfNeeded\",value:function(){var t=this;if(void 0!==this.popupDiv.html){var e=this.domElements[this.popupDiv.index].getBoundingClientRect();this.popupDiv.html.style.left=e.left+\"px\",this.popupDiv.html.style.top=e.top-30+\"px\",document.body.appendChild(this.popupDiv.html),this.popupDiv.hideTimeout=Sv((function(){t.popupDiv.html.style.opacity=0}),1500),this.popupDiv.deleteTimeout=Sv((function(){t._removePopup()}),1800)}}},{key:\"_makeCheckbox\",value:function(t,e,i){var n=document.createElement(\"input\");n.type=\"checkbox\",n.className=\"vis-configuration vis-config-checkbox\",n.checked=t,void 0!==e&&(n.checked=e,e!==t&&(\"object\"===Qc(t)?e!==t.enabled&&this.changedOptions.push({path:i,value:e}):this.changedOptions.push({path:i,value:e})));var o=this;n.onchange=function(){o._update(this.checked,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,n)}},{key:\"_makeTextInput\",value:function(t,e,i){var n=document.createElement(\"input\");n.type=\"text\",n.className=\"vis-configuration vis-config-text\",n.value=e,e!==t&&this.changedOptions.push({path:i,value:e});var o=this;n.onchange=function(){o._update(this.value,i)};var r=this._makeLabel(i[i.length-1],i);this._makeItem(i,r,n)}},{key:\"_makeColorField\",value:function(t,e,i){var n=this,o=t[1],r=document.createElement(\"div\");\"none\"!==(e=void 0===e?o:e)?(r.className=\"vis-configuration vis-config-colorBlock\",r.style.backgroundColor=e):r.className=\"vis-configuration vis-config-colorBlock none\",e=void 0===e?o:e,r.onclick=function(){n._showColorPicker(e,r,i)};var s=this._makeLabel(i[i.length-1],i);this._makeItem(i,s,r)}},{key:\"_showColorPicker\",value:function(t,e,i){var n=this;e.onclick=function(){},this.colorPicker.insertTo(e),this.colorPicker.show(),this.colorPicker.setColor(t),this.colorPicker.setUpdateCallback((function(t){var o=\"rgba(\"+t.r+\",\"+t.g+\",\"+t.b+\",\"+t.a+\")\";e.style.backgroundColor=o,n._update(o,i)})),this.colorPicker.setCloseCallback((function(){e.onclick=function(){n._showColorPicker(t,e,i)}}))}},{key:\"_handleObject\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=!1,o=Xf(this.options),r=!1;for(var s in t)if(Object.prototype.hasOwnProperty.call(t,s)){n=!0;var a=t[s],h=om(e,s);if(\"function\"==typeof o&&!1===(n=o(s,e))&&!lu(a)&&\"string\"!=typeof a&&\"boolean\"!=typeof a&&a instanceof Object&&(this.allowCreation=!1,n=this._handleObject(a,h,!0),this.allowCreation=!1===i),!1!==n){r=!0;var l=this._getValue(h);if(lu(a))this._handleArray(a,l,h);else if(\"string\"==typeof a)this._makeTextInput(a,l,h);else if(\"boolean\"==typeof a)this._makeCheckbox(a,l,h);else if(a instanceof Object){if(!this.hideOption(e,s,this.moduleOptions))if(void 0!==a.enabled){var d=om(h,\"enabled\"),c=this._getValue(d);if(!0===c){var u=this._makeLabel(s,h,!0);this._makeItem(h,u),r=this._handleObject(a,h)||r}else this._makeCheckbox(a,c,h)}else{var f=this._makeLabel(s,h,!0);this._makeItem(h,f),r=this._handleObject(a,h)||r}}else console.error(\"dont know how to handle\",a,s,h)}}return r}},{key:\"_handleArray\",value:function(t,e,i){\"string\"==typeof t[0]&&\"color\"===t[0]?(this._makeColorField(t,e,i),t[1]!==e&&this.changedOptions.push({path:i,value:e})):\"string\"==typeof t[0]?(this._makeDropdown(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:e})):\"number\"==typeof t[0]&&(this._makeRange(t,e,i),t[0]!==e&&this.changedOptions.push({path:i,value:Number(e)}))}},{key:\"_update\",value:function(t,e){var i=this._constructOptions(t,e);this.parent.body&&this.parent.body.emitter&&this.parent.body.emitter.emit&&this.parent.body.emitter.emit(\"configChange\",i),this.initialized=!0,this.parent.setOptions(i)}},{key:\"_constructOptions\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=i;t=\"false\"!==(t=\"true\"===t||t)&&t;for(var o=0;o<e.length;o++)\"global\"!==e[o]&&(void 0===n[e[o]]&&(n[e[o]]={}),o!==e.length-1?n=n[e[o]]:n[e[o]]=t);return i}},{key:\"_printOptions\",value:function(){for(var t=this.getOptions();this.optionsContainer.firstChild;)this.optionsContainer.removeChild(this.optionsContainer.firstChild);this.optionsContainer.appendChild(Im(\"pre\",\"const options = \"+gv(t,null,2)))}},{key:\"getOptions\",value:function(){for(var t={},e=0;e<this.changedOptions.length;e++)this._constructOptions(this.changedOptions[e].value,this.changedOptions[e].path,t);return t}}]),t}(),Nm=function(){function t(e,i){Yd(this,t),this.container=e,this.overflowMethod=i||\"cap\",this.x=0,this.y=0,this.padding=5,this.hidden=!1,this.frame=document.createElement(\"div\"),this.frame.className=\"vis-tooltip\",this.container.appendChild(this.frame)}return Kd(t,[{key:\"setPosition\",value:function(t,e){this.x=Ep(t),this.y=Ep(e)}},{key:\"setText\",value:function(t){if(t instanceof Element){for(;this.frame.firstChild;)this.frame.removeChild(this.frame.firstChild);this.frame.appendChild(t)}else this.frame.innerText=t}},{key:\"show\",value:function(t){if(void 0===t&&(t=!0),!0===t){var e=this.frame.clientHeight,i=this.frame.clientWidth,n=this.frame.parentNode.clientHeight,o=this.frame.parentNode.clientWidth,r=0,s=0;if(\"flip\"==this.overflowMethod){var a=!1,h=!0;this.y-e<this.padding&&(h=!1),this.x+i>o-this.padding&&(a=!0),r=a?this.x-i:this.x,s=h?this.y-e:this.y}else(s=this.y-e)+e+this.padding>n&&(s=n-e-this.padding),s<this.padding&&(s=this.padding),(r=this.x)+i+this.padding>o&&(r=o-i-this.padding),r<this.padding&&(r=this.padding);this.frame.style.left=r+\"px\",this.frame.style.top=s+\"px\",this.frame.style.visibility=\"visible\",this.hidden=!1}else this.hide()}},{key:\"hide\",value:function(){this.hidden=!0,this.frame.style.left=\"0\",this.frame.style.top=\"0\",this.frame.style.visibility=\"hidden\"}},{key:\"destroy\",value:function(){this.frame.parentNode.removeChild(this.frame)}}]),t}(),Fm=!1,Am=\"background: #FFeeee; color: #dd0000\",jm=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"validate\",value:function(e,i,n){Fm=!1,Bm=i;var o=i;return void 0!==n&&(o=i[n]),t.parse(e,o,[]),Fm}},{key:\"parse\",value:function(e,i,n){for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.check(o,e,i,n)}},{key:\"check\",value:function(e,i,n,o){if(void 0!==n[e]||void 0!==n.__any__){var r=e,s=!0;void 0===n[e]&&void 0!==n.__any__&&(r=\"__any__\",s=\"object\"===t.getType(i[e]));var a=n[r];s&&void 0!==a.__type__&&(a=a.__type__),t.checkFields(e,i,n,r,a,o)}else t.getSuggestion(e,n,o)}},{key:\"checkFields\",value:function(e,i,n,o,r,s){var a=function(i){console.error(\"%c\"+i+t.printLocation(s,e),Am)},h=t.getType(i[e]),l=r[h];void 0!==l?\"array\"===t.getType(l)&&-1===Fp(l).call(l,i[e])?(a('Invalid option detected in \"'+e+'\". Allowed values are:'+t.print(l)+' not \"'+i[e]+'\". '),Fm=!0):\"object\"===h&&\"__any__\"!==o&&(s=om(s,e),t.parse(i[e],n[o],s)):void 0===r.any&&(a('Invalid type received for \"'+e+'\". Expected: '+t.print(bu(r))+\". Received [\"+h+'] \"'+i[e]+'\"'),Fm=!0)}},{key:\"getType\",value:function(t){var e=Qc(t);return\"object\"===e?null===t?\"null\":t instanceof Boolean?\"boolean\":t instanceof Number?\"number\":t instanceof String?\"string\":lu(t)?\"array\":t instanceof Date?\"date\":void 0!==t.nodeType?\"dom\":!0===t._isAMomentObject?\"moment\":\"object\":\"number\"===e?\"number\":\"boolean\"===e?\"boolean\":\"string\"===e?\"string\":void 0===e?\"undefined\":e}},{key:\"getSuggestion\",value:function(e,i,n){var o,r=t.findInOptions(e,i,n,!1),s=t.findInOptions(e,Bm,[],!0);o=void 0!==r.indexMatch?\" in \"+t.printLocation(r.path,e,\"\")+'Perhaps it was incomplete? Did you mean: \"'+r.indexMatch+'\"?\\n\\n':s.distance<=4&&r.distance>s.distance?\" in \"+t.printLocation(r.path,e,\"\")+\"Perhaps it was misplaced? Matching option found at: \"+t.printLocation(s.path,s.closestMatch,\"\"):r.distance<=8?'. Did you mean \"'+r.closestMatch+'\"?'+t.printLocation(r.path,e):\". Did you mean one of these: \"+t.print(bu(i))+t.printLocation(n,e),console.error('%cUnknown option detected: \"'+e+'\"'+o,Am),Fm=!0}},{key:\"findInOptions\",value:function(e,i,n){var o=arguments.length>3&&void 0!==arguments[3]&&arguments[3],r=1e9,s=\"\",a=[],h=e.toLowerCase(),l=void 0;for(var d in i){var c=void 0;if(void 0!==i[d].__type__&&!0===o){var u=t.findInOptions(e,i[d],om(n,d));r>u.distance&&(s=u.closestMatch,a=u.path,r=u.distance,l=u.indexMatch)}else{var f;-1!==Fp(f=d.toLowerCase()).call(f,h)&&(l=d),r>(c=t.levenshteinDistance(e,d))&&(s=d,a=rm(n),r=c)}}return{closestMatch:s,path:a,distance:r,indexMatch:l}}},{key:\"printLocation\",value:function(t,e){for(var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"Problem value found at: \\n\",n=\"\\n\\n\"+i+\"options = {\\n\",o=0;o<t.length;o++){for(var r=0;r<o+1;r++)n+=\"  \";n+=t[o]+\": {\\n\"}for(var s=0;s<t.length+1;s++)n+=\"  \";n+=e+\"\\n\";for(var a=0;a<t.length+1;a++){for(var h=0;h<t.length-a;h++)n+=\"  \";n+=\"}\\n\"}return n+\"\\n\\n\"}},{key:\"print\",value:function(t){return gv(t).replace(/(\")|(\\[)|(\\])|(,\"__type__\")/g,\"\").replace(/(,)/g,\", \")}},{key:\"levenshteinDistance\",value:function(t,e){if(0===t.length)return e.length;if(0===e.length)return t.length;var i,n,o=[];for(i=0;i<=e.length;i++)o[i]=[i];for(n=0;n<=t.length;n++)o[0][n]=n;for(i=1;i<=e.length;i++)for(n=1;n<=t.length;n++)e.charAt(i-1)==t.charAt(n-1)?o[i][n]=o[i-1][n-1]:o[i][n]=Math.min(o[i-1][n-1]+1,Math.min(o[i][n-1]+1,o[i-1][n]+1));return o[e.length][t.length]}}]),t}(),Rm=Wy,Lm=Dm,Hm=zm,Wm=Hy,qm=Nm,Vm=Am,Um=jm,Ym=Object.freeze({__proto__:null,Activator:Rm,Alea:jy,ColorPicker:Lm,Configurator:Hm,DELETE:Iy,HSVToHex:km,HSVToRGB:wm,Hammer:Wm,Popup:qm,RGBToHSV:ym,RGBToHex:vm,VALIDATOR_PRINT_STYLE:Vm,Validator:Um,addClassName:function(t,e){var i=t.className.split(\" \"),n=e.split(\" \");i=su(i).call(i,Xf(n).call(n,(function(t){return!Nf(i).call(i,t)}))),t.className=i.join(\" \")},addCssText:function(t,e){var i=mm(t.style.cssText),n=mm(e),o=My(My({},i),n);t.style.cssText=bm(o)},addEventListener:dm,binarySearchCustom:function(t,e,i,n){for(var o=0,r=0,s=t.length-1;r<=s&&o<1e4;){var a=Math.floor((r+s)/2),h=t[a],l=e(void 0===n?h[i]:h[i][n]);if(0==l)return a;-1==l?r=a+1:s=a-1,o++}return-1},binarySearchValue:function(t,e,i,n,o){var r,s,a,h,l=0,d=0,c=t.length-1;for(o=null!=o?o:function(t,e){return t==e?0:t<e?-1:1};d<=c&&l<1e4;){if(h=Math.floor(.5*(c+d)),r=t[Math.max(0,h-1)][i],s=t[h][i],a=t[Math.min(t.length-1,h+1)][i],0==o(s,e))return h;if(o(r,e)<0&&o(s,e)>0)return\"before\"==n?Math.max(0,h-1):h;if(o(s,e)<0&&o(a,e)>0)return\"before\"==n?h:Math.min(t.length-1,h+1);o(s,e)<0?d=h+1:c=h-1,l++}return-1},bridgeObject:Cm,copyAndExtendArray:om,copyArray:rm,deepExtend:nm,deepObjectAssign:zy,easingFunctions:Tm,equalArray:function(t,e){if(t.length!==e.length)return!1;for(var i=0,n=t.length;i<n;i++)if(t[i]!=e[i])return!1;return!0},extend:tm,fillIfDefined:Jy,forEach:hm,getAbsoluteLeft:sm,getAbsoluteRight:function(t){return t.getBoundingClientRect().right},getAbsoluteTop:am,getScrollBarWidth:function(){var t=document.createElement(\"p\");t.style.width=\"100%\",t.style.height=\"200px\";var e=document.createElement(\"div\");e.style.position=\"absolute\",e.style.top=\"0px\",e.style.left=\"0px\",e.style.visibility=\"hidden\",e.style.width=\"200px\",e.style.height=\"150px\",e.style.overflow=\"hidden\",e.appendChild(t),document.body.appendChild(e);var i=t.offsetWidth;e.style.overflow=\"scroll\";var n=t.offsetWidth;return i==n&&(n=e.clientWidth),document.body.removeChild(e),i-n},getTarget:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:window.event,e=null;return t&&(t.target?e=t.target:t.srcElement&&(e=t.srcElement)),e instanceof Element&&(null==e.nodeType||3!=e.nodeType||(e=e.parentNode)instanceof Element)?e:null},getType:function(t){var e=Qc(t);return\"object\"===e?null===t?\"null\":t instanceof Boolean?\"Boolean\":t instanceof Number?\"Number\":t instanceof String?\"String\":lu(t)?\"Array\":t instanceof Date?\"Date\":\"Object\":\"number\"===e?\"Number\":\"boolean\"===e?\"Boolean\":\"string\"===e?\"String\":void 0===e?\"undefined\":e},hasParent:function(t,e){for(var i=t;i;){if(i===e)return!0;if(!i.parentNode)return!1;i=i.parentNode}return!1},hexToHSV:_m,hexToRGB:fm,insertSort:function(t,e){for(var i=0;i<t.length;i++){var n=t[i],o=void 0;for(o=i;o>0&&e(n,t[o-1])<0;o--)t[o]=t[o-1];t[o]=n}return t},isDate:function(t){if(t instanceof Date)return!0;if($y(t)){if(qy.exec(t))return!0;if(!isNaN(Date.parse(t)))return!0}return!1},isNumber:Gy,isObject:Zy,isString:$y,isValidHex:xm,isValidRGB:Em,isValidRGBA:Om,mergeOptions:Sm,option:um,overrideOpacity:pm,parseColor:gm,preventDefault:function(t){t||(t=window.event),t&&(t.preventDefault?t.preventDefault():t.returnValue=!1)},pureDeepObjectAssign:By,recursiveDOMDelete:Ky,removeClassName:function(t,e){var i=t.className.split(\" \"),n=e.split(\" \");i=Xf(i).call(i,(function(t){return!Nf(n).call(n,t)})),t.className=i.join(\" \")},removeCssText:function(t,e){var i=mm(t.style.cssText),n=mm(e);for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&delete i[o];t.style.cssText=bm(i)},removeEventListener:cm,selectiveBridgeObject:function(t,e){if(null!==e&&\"object\"===Qc(e)){for(var i=Kp(e),n=0;n<t.length;n++)Object.prototype.hasOwnProperty.call(e,t[n])&&\"object\"==Qc(e[t[n]])&&(i[t[n]]=Cm(e[t[n]]));return i}return null},selectiveDeepExtend:em,selectiveExtend:function(t,e){if(!lu(t))throw new Error(\"Array with property names expected as first argument\");for(var i=arguments.length,n=new Array(i>2?i-2:0),o=2;o<i;o++)n[o-2]=arguments[o];for(var r=0,s=n;r<s.length;r++)for(var a=s[r],h=0;h<t.length;h++){var l=t[h];a&&Object.prototype.hasOwnProperty.call(a,l)&&(e[l]=a[l])}return e},selectiveNotDeepExtend:im,throttle:function(t){var e=!1;return function(){e||(e=!0,requestAnimationFrame((function(){e=!1,t()})))}},toArray:lm,topMost:Mm,updateProperty:function(t,e,i){return t[e]!==i&&(t[e]=i,!0)}});function Xm(t){return eb=t,function(){var t={};ib=0,void(nb=eb.charAt(0)),pb(),\"strict\"===ob&&(t.strict=!0,pb());\"graph\"!==ob&&\"digraph\"!==ob||(t.type=ob,pb());rb===Qm&&(t.id=ob,pb());if(\"{\"!=ob)throw wb(\"Angle bracket { expected\");if(pb(),vb(t),\"}\"!=ob)throw wb(\"Angle bracket } expected\");if(pb(),\"\"!==ob)throw wb(\"End of file expected\");return pb(),delete t.node,delete t.edge,delete t.graph,t}()}var Gm={fontsize:\"font.size\",fontcolor:\"font.color\",labelfontcolor:\"font.color\",fontname:\"font.face\",color:[\"color.border\",\"color.background\"],fillcolor:\"color.background\",tooltip:\"title\",labeltooltip:\"title\"},Km=Kp(Gm);Km.color=\"color.color\",Km.style=\"dashes\";var $m=0,Zm=1,Qm=2,Jm=3,tb={\"{\":!0,\"}\":!0,\"[\":!0,\"]\":!0,\";\":!0,\"=\":!0,\",\":!0,\"->\":!0,\"--\":!0},eb=\"\",ib=0,nb=\"\",ob=\"\",rb=$m;function sb(){ib++,nb=eb.charAt(ib)}function ab(){return eb.charAt(ib+1)}function hb(t){var e=t.charCodeAt(0);return e<47?35===e||46===e:e<59?e>47:e<91?e>64:e<96?95===e:e<123&&e>96}function lb(t,e){if(t||(t={}),e)for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t}function db(t,e,i){for(var n=e.split(\".\"),o=t;n.length;){var r=n.shift();n.length?(o[r]||(o[r]={}),o=o[r]):o[r]=i}}function cb(t,e){for(var i,n,o=null,r=[t],s=t;s.parent;)r.push(s.parent),s=s.parent;if(s.nodes)for(i=0,n=s.nodes.length;i<n;i++)if(e.id===s.nodes[i].id){o=s.nodes[i];break}for(o||(o={id:e.id},t.node&&(o.attr=lb(o.attr,t.node))),i=r.length-1;i>=0;i--){var a,h=r[i];h.nodes||(h.nodes=[]),-1===Fp(a=h.nodes).call(a,o)&&h.nodes.push(o)}e.attr&&(o.attr=lb(o.attr,e.attr))}function ub(t,e){if(t.edges||(t.edges=[]),t.edges.push(e),t.edge){var i=lb({},t.edge);e.attr=lb(i,e.attr)}}function fb(t,e,i,n,o){var r={from:e,to:i,type:n};return t.edge&&(r.attr=lb({},t.edge)),r.attr=lb(r.attr||{},o),null!=o&&o.hasOwnProperty(\"arrows\")&&null!=o.arrows&&(r.arrows={to:{enabled:!0,type:o.arrows.type}},o.arrows=null),r}function pb(){for(rb=$m,ob=\"\";\" \"===nb||\"\\t\"===nb||\"\\n\"===nb||\"\\r\"===nb;)sb();do{var t=!1;if(\"#\"===nb){for(var e=ib-1;\" \"===eb.charAt(e)||\"\\t\"===eb.charAt(e);)e--;if(\"\\n\"===eb.charAt(e)||\"\"===eb.charAt(e)){for(;\"\"!=nb&&\"\\n\"!=nb;)sb();t=!0}}if(\"/\"===nb&&\"/\"===ab()){for(;\"\"!=nb&&\"\\n\"!=nb;)sb();t=!0}if(\"/\"===nb&&\"*\"===ab()){for(;\"\"!=nb;){if(\"*\"===nb&&\"/\"===ab()){sb(),sb();break}sb()}t=!0}for(;\" \"===nb||\"\\t\"===nb||\"\\n\"===nb||\"\\r\"===nb;)sb()}while(t);if(\"\"!==nb){var i=nb+ab();if(tb[i])return rb=Zm,ob=i,sb(),void sb();if(tb[nb])return rb=Zm,ob=nb,void sb();if(hb(nb)||\"-\"===nb){for(ob+=nb,sb();hb(nb);)ob+=nb,sb();return\"false\"===ob?ob=!1:\"true\"===ob?ob=!0:isNaN(Number(ob))||(ob=Number(ob)),void(rb=Qm)}if('\"'===nb){for(sb();\"\"!=nb&&('\"'!=nb||'\"'===nb&&'\"'===ab());)'\"'===nb?(ob+=nb,sb()):\"\\\\\"===nb&&\"n\"===ab()?(ob+=\"\\n\",sb()):ob+=nb,sb();if('\"'!=nb)throw wb('End of string \" expected');return sb(),void(rb=Qm)}for(rb=Jm;\"\"!=nb;)ob+=nb,sb();throw new SyntaxError('Syntax error in part \"'+kb(ob,30)+'\"')}rb=Zm}function vb(t){for(;\"\"!==ob&&\"}\"!=ob;)gb(t),\";\"===ob&&pb()}function gb(t){var e=yb(t);if(e)mb(t,e);else{var i=function(t){if(\"node\"===ob)return pb(),t.node=bb(),\"node\";if(\"edge\"===ob)return pb(),t.edge=bb(),\"edge\";if(\"graph\"===ob)return pb(),t.graph=bb(),\"graph\";return null}(t);if(!i){if(rb!=Qm)throw wb(\"Identifier expected\");var n=ob;if(pb(),\"=\"===ob){if(pb(),rb!=Qm)throw wb(\"Identifier expected\");t[n]=ob,pb()}else!function(t,e){var i={id:e},n=bb();n&&(i.attr=n);cb(t,i),mb(t,e)}(t,n)}}}function yb(t){var e=null;if(\"subgraph\"===ob&&((e={}).type=\"subgraph\",pb(),rb===Qm&&(e.id=ob,pb())),\"{\"===ob){if(pb(),e||(e={}),e.parent=t,e.node=t.node,e.edge=t.edge,e.graph=t.graph,vb(e),\"}\"!=ob)throw wb(\"Angle bracket } expected\");pb(),delete e.node,delete e.edge,delete e.graph,delete e.parent,t.subgraphs||(t.subgraphs=[]),t.subgraphs.push(e)}return e}function mb(t,e){for(;\"->\"===ob||\"--\"===ob;){var i,n=ob;pb();var o=yb(t);if(o)i=o;else{if(rb!=Qm)throw wb(\"Identifier or subgraph expected\");cb(t,{id:i=ob}),pb()}ub(t,fb(t,e,i,n,bb())),e=i}}function bb(){for(var t,e,i=null,n={dashed:!0,solid:!1,dotted:[1,5]},o={dot:\"circle\",box:\"box\",crow:\"crow\",curve:\"curve\",icurve:\"inv_curve\",normal:\"triangle\",inv:\"inv_triangle\",diamond:\"diamond\",tee:\"bar\",vee:\"vee\"},r=new Array,s=new Array;\"[\"===ob;){for(pb(),i={};\"\"!==ob&&\"]\"!=ob;){if(rb!=Qm)throw wb(\"Attribute name expected\");var a=ob;if(pb(),\"=\"!=ob)throw wb(\"Equal sign = expected\");if(pb(),rb!=Qm)throw wb(\"Attribute value expected\");var h=ob;\"style\"===a&&(h=n[h]),\"arrowhead\"===a&&(a=\"arrows\",h={to:{enabled:!0,type:o[h]}}),\"arrowtail\"===a&&(a=\"arrows\",h={from:{enabled:!0,type:o[h]}}),r.push({attr:i,name:a,value:h}),s.push(a),pb(),\",\"==ob&&pb()}if(\"]\"!=ob)throw wb(\"Bracket ] expected\");pb()}if(Nf(s).call(s,\"dir\")){var l={arrows:{}};for(t=0;t<r.length;t++)if(\"arrows\"===r[t].name)if(null!=r[t].value.to)l.arrows.to=t;else{if(null==r[t].value.from)throw wb(\"Invalid value of arrows\");l.arrows.from=t}else\"dir\"===r[t].name&&(l.dir=t);var d,c,u=r[l.dir].value;if(!Nf(s).call(s,\"arrows\"))if(\"both\"===u)r.push({attr:r[l.dir].attr,name:\"arrows\",value:{to:{enabled:!0}}}),l.arrows.to=r.length-1,r.push({attr:r[l.dir].attr,name:\"arrows\",value:{from:{enabled:!0}}}),l.arrows.from=r.length-1;else if(\"forward\"===u)r.push({attr:r[l.dir].attr,name:\"arrows\",value:{to:{enabled:!0}}}),l.arrows.to=r.length-1;else if(\"back\"===u)r.push({attr:r[l.dir].attr,name:\"arrows\",value:{from:{enabled:!0}}}),l.arrows.from=r.length-1;else{if(\"none\"!==u)throw wb('Invalid dir type \"'+u+'\"');r.push({attr:r[l.dir].attr,name:\"arrows\",value:\"\"}),l.arrows.to=r.length-1}if(\"both\"===u)l.arrows.to&&l.arrows.from?(c=r[l.arrows.to].value.to.type,d=r[l.arrows.from].value.from.type,r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}},ff(r).call(r,l.arrows.from,1)):l.arrows.to?(c=r[l.arrows.to].value.to.type,d=\"arrow\",r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.from&&(c=\"arrow\",d=r[l.arrows.from].value.from.type,r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}});else if(\"back\"===u)l.arrows.to&&l.arrows.from?(c=\"\",d=r[l.arrows.from].value.from.type,r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.to?(c=\"\",d=\"arrow\",l.arrows.from=l.arrows.to,r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.from&&(c=\"\",d=r[l.arrows.from].value.from.type,r[l.arrows.to]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}),r[l.arrows.from]={attr:r[l.arrows.from].attr,name:r[l.arrows.from].name,value:{from:{enabled:!0,type:r[l.arrows.from].value.from.type}}};else if(\"none\"===u){var f;r[f=l.arrows.to?l.arrows.to:l.arrows.from]={attr:r[f].attr,name:r[f].name,value:\"\"}}else{if(\"forward\"!==u)throw wb('Invalid dir type \"'+u+'\"');l.arrows.to&&l.arrows.from||l.arrows.to?(c=r[l.arrows.to].value.to.type,d=\"\",r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}):l.arrows.from&&(c=\"arrow\",d=\"\",l.arrows.to=l.arrows.from,r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:c},from:{enabled:!0,type:d}}}),r[l.arrows.to]={attr:r[l.arrows.to].attr,name:r[l.arrows.to].name,value:{to:{enabled:!0,type:r[l.arrows.to].value.to.type}}}}ff(r).call(r,l.dir,1)}if(Nf(s).call(s,\"penwidth\")){var p=[];for(e=r.length,t=0;t<e;t++)\"width\"!==r[t].name&&(\"penwidth\"===r[t].name&&(r[t].name=\"width\"),p.push(r[t]));r=p}for(e=r.length,t=0;t<e;t++)db(r[t].attr,r[t].name,r[t].value);return i}function wb(t){return new SyntaxError(t+', got \"'+kb(ob,30)+'\" (char '+ib+\")\")}function kb(t,e){return t.length<=e?t:t.substr(0,27)+\"...\"}function _b(t,e,i){for(var n=e.split(\".\"),o=n.pop(),r=t,s=0;s<n.length;s++){var a=n[s];a in r||(r[a]={}),r=r[a]}return r[o]=i,t}function xb(t,e){var i={};for(var n in t)if(t.hasOwnProperty(n)){var o=e[n];lu(o)?Fu(o).call(o,(function(e){_b(i,e,t[n])})):_b(i,\"string\"==typeof o?o:n,t[n])}return i}function Eb(t){var e,i=Xm(t),n={nodes:[],edges:[],options:{}};i.nodes&&Fu(e=i.nodes).call(e,(function(t){var e={id:t.id,label:String(t.label||t.id)};lb(e,xb(t.attr,Gm)),e.image&&(e.shape=\"image\"),n.nodes.push(e)}));if(i.edges){var o,r=function(t){var e={from:t.from,to:t.to};return lb(e,xb(t.attr,Km)),null==e.arrows&&\"->\"===t.type&&(e.arrows=\"to\"),e};Fu(o=i.edges).call(o,(function(t){var e,i,o,s,a,h,l;(e=t.from instanceof Object?t.from.nodes:{id:t.from},i=t.to instanceof Object?t.to.nodes:{id:t.to},t.from instanceof Object&&t.from.edges)&&Fu(o=t.from.edges).call(o,(function(t){var e=r(t);n.edges.push(e)}));(a=i,h=function(e,i){var o=fb(n,e.id,i.id,t.type,t.attr),s=r(o);n.edges.push(s)},lu(s=e)?Fu(s).call(s,(function(t){lu(a)?Fu(a).call(a,(function(e){h(t,e)})):h(t,a)})):lu(a)?Fu(a).call(a,(function(t){h(s,t)})):h(s,a),t.to instanceof Object&&t.to.edges)&&Fu(l=t.to.edges).call(l,(function(t){var e=r(t);n.edges.push(e)}))}))}return i.attr&&(n.options=i.attr),n}var Ob=Object.freeze({__proto__:null,parseDOT:Xm,DOTToGraph:Eb});function Cb(t,e){var i,n={edges:{inheritColor:!1},nodes:{fixed:!1,parseColor:!1}};null!=e&&(null!=e.fixed&&(n.nodes.fixed=e.fixed),null!=e.parseColor&&(n.nodes.parseColor=e.parseColor),null!=e.inheritColor&&(n.edges.inheritColor=e.inheritColor));var o=t.edges,r=gu(o).call(o,(function(t){var e={from:t.source,id:t.id,to:t.target};return null!=t.attributes&&(e.attributes=t.attributes),null!=t.label&&(e.label=t.label),null!=t.attributes&&null!=t.attributes.title&&(e.title=t.attributes.title),\"Directed\"===t.type&&(e.arrows=\"to\"),t.color&&!1===n.edges.inheritColor&&(e.color=t.color),e}));return{nodes:gu(i=t.nodes).call(i,(function(t){var e={id:t.id,fixed:n.nodes.fixed&&null!=t.x&&null!=t.y};return null!=t.attributes&&(e.attributes=t.attributes),null!=t.label&&(e.label=t.label),null!=t.size&&(e.size=t.size),null!=t.attributes&&null!=t.attributes.title&&(e.title=t.attributes.title),null!=t.title&&(e.title=t.title),null!=t.x&&(e.x=t.x),null!=t.y&&(e.y=t.y),null!=t.color&&(!0===n.nodes.parseColor?e.color=t.color:e.color={background:t.color,border:t.color,highlight:{background:t.color,border:t.color},hover:{background:t.color,border:t.color}}),e})),edges:r}}var Sb=Object.freeze({__proto__:null,parseGephi:Cb}),Tb=Object.freeze({__proto__:null,en:{addDescription:\"Click in an empty space to place a new node.\",addEdge:\"Add Edge\",addNode:\"Add Node\",back:\"Back\",close:\"Close\",createEdgeError:\"Cannot link edges to a cluster.\",del:\"Delete selected\",deleteClusterError:\"Clusters cannot be deleted.\",edgeDescription:\"Click on a node and drag the edge to another node to connect them.\",edit:\"Edit\",editClusterError:\"Clusters cannot be edited.\",editEdge:\"Edit Edge\",editEdgeDescription:\"Click on the control points and drag them to a node to connect to it.\",editNode:\"Edit Node\"},de:{addDescription:\"Klicke auf eine freie Stelle, um einen neuen Knoten zu plazieren.\",addEdge:\"Kante hinzufügen\",addNode:\"Knoten hinzufügen\",back:\"Zurück\",close:\"Schließen\",createEdgeError:\"Es ist nicht möglich, Kanten mit Clustern zu verbinden.\",del:\"Lösche Auswahl\",deleteClusterError:\"Cluster können nicht gelöscht werden.\",edgeDescription:\"Klicke auf einen Knoten und ziehe die Kante zu einem anderen Knoten, um diese zu verbinden.\",edit:\"Editieren\",editClusterError:\"Cluster können nicht editiert werden.\",editEdge:\"Kante editieren\",editEdgeDescription:\"Klicke auf die Verbindungspunkte und ziehe diese auf einen Knoten, um sie zu verbinden.\",editNode:\"Knoten editieren\"},es:{addDescription:\"Haga clic en un lugar vacío para colocar un nuevo nodo.\",addEdge:\"Añadir arista\",addNode:\"Añadir nodo\",back:\"Atrás\",close:\"Cerrar\",createEdgeError:\"No se puede conectar una arista a un grupo.\",del:\"Eliminar selección\",deleteClusterError:\"No es posible eliminar grupos.\",edgeDescription:\"Haga clic en un nodo y arrastre la arista hacia otro nodo para conectarlos.\",edit:\"Editar\",editClusterError:\"No es posible editar grupos.\",editEdge:\"Editar arista\",editEdgeDescription:\"Haga clic en un punto de control y arrastrelo a un nodo para conectarlo.\",editNode:\"Editar nodo\"},it:{addDescription:\"Clicca per aggiungere un nuovo nodo\",addEdge:\"Aggiungi un vertice\",addNode:\"Aggiungi un nodo\",back:\"Indietro\",close:\"Chiudere\",createEdgeError:\"Non si possono collegare vertici ad un cluster\",del:\"Cancella la selezione\",deleteClusterError:\"I cluster non possono essere cancellati\",edgeDescription:\"Clicca su un nodo e trascinalo ad un altro nodo per connetterli.\",edit:\"Modifica\",editClusterError:\"I clusters non possono essere modificati.\",editEdge:\"Modifica il vertice\",editEdgeDescription:\"Clicca sui Punti di controllo e trascinali ad un nodo per connetterli.\",editNode:\"Modifica il nodo\"},nl:{addDescription:\"Klik op een leeg gebied om een nieuwe node te maken.\",addEdge:\"Link toevoegen\",addNode:\"Node toevoegen\",back:\"Terug\",close:\"Sluiten\",createEdgeError:\"Kan geen link maken naar een cluster.\",del:\"Selectie verwijderen\",deleteClusterError:\"Clusters kunnen niet worden verwijderd.\",edgeDescription:\"Klik op een node en sleep de link naar een andere node om ze te verbinden.\",edit:\"Wijzigen\",editClusterError:\"Clusters kunnen niet worden aangepast.\",editEdge:\"Link wijzigen\",editEdgeDescription:\"Klik op de verbindingspunten en sleep ze naar een node om daarmee te verbinden.\",editNode:\"Node wijzigen\"},pt:{addDescription:\"Clique em um espaço em branco para adicionar um novo nó\",addEdge:\"Adicionar aresta\",addNode:\"Adicionar nó\",back:\"Voltar\",close:\"Fechar\",createEdgeError:\"Não foi possível linkar arestas a um cluster.\",del:\"Remover selecionado\",deleteClusterError:\"Clusters não puderam ser removidos.\",edgeDescription:\"Clique em um nó e arraste a aresta até outro nó para conectá-los\",edit:\"Editar\",editClusterError:\"Clusters não puderam ser editados.\",editEdge:\"Editar aresta\",editEdgeDescription:\"Clique nos pontos de controle e os arraste para um nó para conectá-los\",editNode:\"Editar nó\"},ru:{addDescription:\"Кликните в свободное место, чтобы добавить новый узел.\",addEdge:\"Добавить ребро\",addNode:\"Добавить узел\",back:\"Назад\",close:\"Закрывать\",createEdgeError:\"Невозможно соединить ребра в кластер.\",del:\"Удалить выбранное\",deleteClusterError:\"Кластеры не могут быть удалены\",edgeDescription:\"Кликните на узел и протяните ребро к другому узлу, чтобы соединить их.\",edit:\"Редактировать\",editClusterError:\"Кластеры недоступны для редактирования.\",editEdge:\"Редактировать ребро\",editEdgeDescription:\"Кликните на контрольные точки и перетащите их в узел, чтобы подключиться к нему.\",editNode:\"Редактировать узел\"},cn:{addDescription:\"单击空白处放置新节点。\",addEdge:\"添加连接线\",addNode:\"添加节点\",back:\"返回\",close:\"關閉\",createEdgeError:\"无法将连接线连接到群集。\",del:\"删除选定\",deleteClusterError:\"无法删除群集。\",edgeDescription:\"单击某个节点并将该连接线拖动到另一个节点以连接它们。\",edit:\"编辑\",editClusterError:\"无法编辑群集。\",editEdge:\"编辑连接线\",editEdgeDescription:\"单击控制节点并将它们拖到节点上连接。\",editNode:\"编辑节点\"},uk:{addDescription:\"Kлікніть на вільне місце, щоб додати новий вузол.\",addEdge:\"Додати край\",addNode:\"Додати вузол\",back:\"Назад\",close:\"Закрити\",createEdgeError:\"Не можливо об'єднати краї в групу.\",del:\"Видалити обране\",deleteClusterError:\"Групи не можуть бути видалені.\",edgeDescription:\"Клікніть на вузол і перетягніть край до іншого вузла, щоб їх з'єднати.\",edit:\"Редагувати\",editClusterError:\"Групи недоступні для редагування.\",editEdge:\"Редагувати край\",editEdgeDescription:\"Клікніть на контрольні точки і перетягніть їх у вузол, щоб підключитися до нього.\",editNode:\"Редагувати вузол\"},fr:{addDescription:\"Cliquez dans un endroit vide pour placer un nœud.\",addEdge:\"Ajouter un lien\",addNode:\"Ajouter un nœud\",back:\"Retour\",close:\"Fermer\",createEdgeError:\"Impossible de créer un lien vers un cluster.\",del:\"Effacer la sélection\",deleteClusterError:\"Les clusters ne peuvent pas être effacés.\",edgeDescription:\"Cliquez sur un nœud et glissez le lien vers un autre nœud pour les connecter.\",edit:\"Éditer\",editClusterError:\"Les clusters ne peuvent pas être édités.\",editEdge:\"Éditer le lien\",editEdgeDescription:\"Cliquez sur les points de contrôle et glissez-les pour connecter un nœud.\",editNode:\"Éditer le nœud\"},cs:{addDescription:\"Kluknutím do prázdného prostoru můžete přidat nový vrchol.\",addEdge:\"Přidat hranu\",addNode:\"Přidat vrchol\",back:\"Zpět\",close:\"Zavřít\",createEdgeError:\"Nelze připojit hranu ke shluku.\",del:\"Smazat výběr\",deleteClusterError:\"Nelze mazat shluky.\",edgeDescription:\"Přetažením z jednoho vrcholu do druhého můžete spojit tyto vrcholy novou hranou.\",edit:\"Upravit\",editClusterError:\"Nelze upravovat shluky.\",editEdge:\"Upravit hranu\",editEdgeDescription:\"Přetažením kontrolního vrcholu hrany ji můžete připojit k jinému vrcholu.\",editNode:\"Upravit vrchol\"}});var Mb=function(){function t(){Yd(this,t),this.NUM_ITERATIONS=4,this.image=new Image,this.canvas=document.createElement(\"canvas\")}return Kd(t,[{key:\"init\",value:function(){if(!this.initialized()){this.src=this.image.src;var t=this.image.width,e=this.image.height;this.width=t,this.height=e;var i=Math.floor(e/2),n=Math.floor(e/4),o=Math.floor(e/8),r=Math.floor(e/16),s=Math.floor(t/2),a=Math.floor(t/4),h=Math.floor(t/8),l=Math.floor(t/16);this.canvas.width=3*a,this.canvas.height=i,this.coordinates=[[0,0,s,i],[s,0,a,n],[s,n,h,o],[5*h,n,l,r]],this._fillMipMap()}}},{key:\"initialized\",value:function(){return void 0!==this.coordinates}},{key:\"_fillMipMap\",value:function(){var t=this.canvas.getContext(\"2d\"),e=this.coordinates[0];t.drawImage(this.image,e[0],e[1],e[2],e[3]);for(var i=1;i<this.NUM_ITERATIONS;i++){var n=this.coordinates[i-1],o=this.coordinates[i];t.drawImage(this.canvas,n[0],n[1],n[2],n[3],o[0],o[1],o[2],o[3])}}},{key:\"drawImageAtPosition\",value:function(t,e,i,n,o,r){if(this.initialized())if(e>2){e*=.5;for(var s=0;e>2&&s<this.NUM_ITERATIONS;)e*=.5,s+=1;s>=this.NUM_ITERATIONS&&(s=this.NUM_ITERATIONS-1);var a=this.coordinates[s];t.drawImage(this.canvas,a[0],a[1],a[2],a[3],i,n,o,r)}else t.drawImage(this.image,i,n,o,r)}}]),t}(),Pb=function(){function t(e){Yd(this,t),this.images={},this.imageBroken={},this.callback=e}return Kd(t,[{key:\"_tryloadBrokenUrl\",value:function(t,e,i){void 0!==t&&void 0!==i&&(void 0!==e?(i.image.onerror=function(){console.error(\"Could not load brokenImage:\",e)},i.image.src=e):console.warn(\"No broken url image defined\"))}},{key:\"_redrawWithImage\",value:function(t){this.callback&&this.callback(t)}},{key:\"load\",value:function(t,e){var i=this,n=this.images[t];if(n)return n;var o=new Mb;return this.images[t]=o,o.image.onload=function(){i._fixImageCoordinates(o.image),o.init(),i._redrawWithImage(o)},o.image.onerror=function(){console.error(\"Could not load image:\",t),i._tryloadBrokenUrl(t,e,o)},o.image.src=t,o}},{key:\"_fixImageCoordinates\",value:function(t){0===t.width&&(document.body.appendChild(t),t.width=t.offsetWidth,t.height=t.offsetHeight,document.body.removeChild(t))}}]),t}(),Db={exports:{}},Ib=o((function(){if(\"function\"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,\"a\",{value:8})}})),Bb=o,zb=Y,Nb=B,Fb=Ib,Ab=Object.isExtensible,jb=Bb((function(){Ab(1)}))||Fb?function(t){return!!zb(t)&&((!Fb||\"ArrayBuffer\"!=Nb(t))&&(!Ab||Ab(t)))}:Ab,Rb=!o((function(){return Object.isExtensible(Object.preventExtensions({}))})),Lb=_i,Hb=g,Wb=Ri,qb=Y,Vb=Wt,Ub=Ve.f,Yb=rh,Xb=hh,Gb=jb,Kb=Rb,$b=!1,Zb=Xt(\"meta\"),Qb=0,Jb=function(t){Ub(t,Zb,{value:{objectID:\"O\"+Qb++,weakData:{}}})},tw=Db.exports={enable:function(){tw.enable=function(){},$b=!0;var t=Yb.f,e=Hb([].splice),i={};i[Zb]=1,t(i).length&&(Yb.f=function(i){for(var n=t(i),o=0,r=n.length;o<r;o++)if(n[o]===Zb){e(n,o,1);break}return n},Lb({target:\"Object\",stat:!0,forced:!0},{getOwnPropertyNames:Xb.f}))},fastKey:function(t,e){if(!qb(t))return\"symbol\"==typeof t?t:(\"string\"==typeof t?\"S\":\"P\")+t;if(!Vb(t,Zb)){if(!Gb(t))return\"F\";if(!e)return\"E\";Jb(t)}return t[Zb].objectID},getWeakData:function(t,e){if(!Vb(t,Zb)){if(!Gb(t))return!0;if(!e)return!1;Jb(t)}return t[Zb].weakData},onFreeze:function(t){return Kb&&$b&&Gb(t)&&!Vb(t,Zb)&&Jb(t),t}};Wb[Zb]=!0;var ew=qe,iw=_,nw=$e,ow=bt,rw=qs,sw=Bi,aw=J,hw=ba,lw=ua,dw=As,cw=n.TypeError,uw=function(t,e){this.stopped=t,this.result=e},fw=uw.prototype,pw=function(t,e,i){var n,o,r,s,a,h,l,d=i&&i.that,c=!(!i||!i.AS_ENTRIES),u=!(!i||!i.IS_ITERATOR),f=!(!i||!i.INTERRUPTED),p=ew(e,d),v=function(t){return n&&dw(n,\"normal\",t),new uw(!0,t)},g=function(t){return c?(nw(t),f?p(t[0],t[1],v):p(t[0],t[1])):f?p(t,v):p(t)};if(u)n=t;else{if(!(o=lw(t)))throw cw(ow(t)+\" is not iterable\");if(rw(o)){for(r=0,s=sw(t);s>r;r++)if((a=g(t[r]))&&aw(fw,a))return a;return new uw(!1)}n=hw(t,o)}for(h=n.next;!(l=iw(h,n)).done;){try{a=g(l.value)}catch(t){dw(n,\"throw\",t)}if(\"object\"==typeof a&&a&&aw(fw,a))return a}return new uw(!1)},vw=J,gw=n.TypeError,yw=function(t,e){if(vw(e,t))return t;throw gw(\"Incorrect invocation\")},mw=_i,bw=n,ww=Db.exports,kw=o,_w=di,xw=pw,Ew=yw,Ow=y,Cw=Y,Sw=$r,Tw=Ve.f,Mw=Wh.forEach,Pw=b,Dw=Vo.set,Iw=Vo.getterFor,Bw=function(t,e,i){var n,o=-1!==t.indexOf(\"Map\"),r=-1!==t.indexOf(\"Weak\"),s=o?\"set\":\"add\",a=bw[t],h=a&&a.prototype,l={};if(Pw&&Ow(a)&&(r||h.forEach&&!kw((function(){(new a).entries().next()})))){var d=(n=e((function(e,i){Dw(Ew(e,d),{type:t,collection:new a}),null!=i&&xw(i,e[s],{that:e,AS_ENTRIES:o})}))).prototype,c=Iw(t);Mw([\"add\",\"clear\",\"delete\",\"forEach\",\"get\",\"has\",\"set\",\"keys\",\"values\",\"entries\"],(function(t){var e=\"add\"==t||\"set\"==t;!(t in h)||r&&\"clear\"==t||_w(d,t,(function(i,n){var o=c(this).collection;if(!e&&r&&!Cw(i))return\"get\"==t&&void 0;var s=o[t](0===i?0:i,n);return e?this:s}))})),r||Tw(d,\"size\",{configurable:!0,get:function(){return c(this).collection.size}})}else n=i.getConstructor(e,t,o,s),ww.enable();return Sw(n,t,!1,!0),l[t]=n,mw({global:!0,forced:!0},l),r||i.setStrong(n,t,o),n},zw=Ir,Nw=function(t,e,i){for(var n in e)i&&i.unsafe&&t[n]?t[n]=e[n]:zw(t,n,e[n],i);return t},Fw=Q,Aw=Ve,jw=b,Rw=oe(\"species\"),Lw=Ve.f,Hw=wr,Ww=Nw,qw=qe,Vw=yw,Uw=pw,Yw=Cs,Xw=function(t){var e=Fw(t),i=Aw.f;jw&&e&&!e[Rw]&&i(e,Rw,{configurable:!0,get:function(){return this}})},Gw=b,Kw=Db.exports.fastKey,$w=Vo.set,Zw=Vo.getterFor,Qw={getConstructor:function(t,e,i,n){var o=t((function(t,o){Vw(t,r),$w(t,{type:e,index:Hw(null),first:void 0,last:void 0,size:0}),Gw||(t.size=0),null!=o&&Uw(o,t[n],{that:t,AS_ENTRIES:i})})),r=o.prototype,s=Zw(e),a=function(t,e,i){var n,o,r=s(t),a=h(t,e);return a?a.value=i:(r.last=a={index:o=Kw(e,!0),key:e,value:i,previous:n=r.last,next:void 0,removed:!1},r.first||(r.first=a),n&&(n.next=a),Gw?r.size++:t.size++,\"F\"!==o&&(r.index[o]=a)),t},h=function(t,e){var i,n=s(t),o=Kw(e);if(\"F\"!==o)return n.index[o];for(i=n.first;i;i=i.next)if(i.key==e)return i};return Ww(r,{clear:function(){for(var t=s(this),e=t.index,i=t.first;i;)i.removed=!0,i.previous&&(i.previous=i.previous.next=void 0),delete e[i.index],i=i.next;t.first=t.last=void 0,Gw?t.size=0:this.size=0},delete:function(t){var e=this,i=s(e),n=h(e,t);if(n){var o=n.next,r=n.previous;delete i.index[n.index],n.removed=!0,r&&(r.next=o),o&&(o.previous=r),i.first==n&&(i.first=o),i.last==n&&(i.last=r),Gw?i.size--:e.size--}return!!n},forEach:function(t){for(var e,i=s(this),n=qw(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:i.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!h(this,t)}}),Ww(r,i?{get:function(t){var e=h(this,t);return e&&e.value},set:function(t,e){return a(this,0===t?0:t,e)}}:{add:function(t){return a(this,t=0===t?0:t,t)}}),Gw&&Lw(r,\"size\",{get:function(){return s(this).size}}),o},setStrong:function(t,e,i){var n=e+\" Iterator\",o=Zw(e),r=Zw(n);Yw(t,e,(function(t,e){$w(this,{type:n,target:t,state:o(t),kind:e,last:void 0})}),(function(){for(var t=r(this),e=t.kind,i=t.last;i&&i.removed;)i=i.previous;return t.target&&(t.last=i=i?i.next:t.state.first)?\"keys\"==e?{value:i.key,done:!1}:\"values\"==e?{value:i.value,done:!1}:{value:[i.key,i.value],done:!1}:(t.target=void 0,{value:void 0,done:!0})}),i?\"entries\":\"values\",!i,!0),Xw(e)}};Bw(\"Map\",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Qw);var Jw=X.Map,tk=function(){function t(){Yd(this,t),this.clear(),this._defaultIndex=0,this._groupIndex=0,this._defaultGroups=[{border:\"#2B7CE9\",background:\"#97C2FC\",highlight:{border:\"#2B7CE9\",background:\"#D2E5FF\"},hover:{border:\"#2B7CE9\",background:\"#D2E5FF\"}},{border:\"#FFA500\",background:\"#FFFF00\",highlight:{border:\"#FFA500\",background:\"#FFFFA3\"},hover:{border:\"#FFA500\",background:\"#FFFFA3\"}},{border:\"#FA0A10\",background:\"#FB7E81\",highlight:{border:\"#FA0A10\",background:\"#FFAFB1\"},hover:{border:\"#FA0A10\",background:\"#FFAFB1\"}},{border:\"#41A906\",background:\"#7BE141\",highlight:{border:\"#41A906\",background:\"#A1EC76\"},hover:{border:\"#41A906\",background:\"#A1EC76\"}},{border:\"#E129F0\",background:\"#EB7DF4\",highlight:{border:\"#E129F0\",background:\"#F0B3F5\"},hover:{border:\"#E129F0\",background:\"#F0B3F5\"}},{border:\"#7C29F0\",background:\"#AD85E4\",highlight:{border:\"#7C29F0\",background:\"#D3BDF0\"},hover:{border:\"#7C29F0\",background:\"#D3BDF0\"}},{border:\"#C37F00\",background:\"#FFA807\",highlight:{border:\"#C37F00\",background:\"#FFCA66\"},hover:{border:\"#C37F00\",background:\"#FFCA66\"}},{border:\"#4220FB\",background:\"#6E6EFD\",highlight:{border:\"#4220FB\",background:\"#9B9BFD\"},hover:{border:\"#4220FB\",background:\"#9B9BFD\"}},{border:\"#FD5A77\",background:\"#FFC0CB\",highlight:{border:\"#FD5A77\",background:\"#FFD1D9\"},hover:{border:\"#FD5A77\",background:\"#FFD1D9\"}},{border:\"#4AD63A\",background:\"#C2FABC\",highlight:{border:\"#4AD63A\",background:\"#E6FFE3\"},hover:{border:\"#4AD63A\",background:\"#E6FFE3\"}},{border:\"#990000\",background:\"#EE0000\",highlight:{border:\"#BB0000\",background:\"#FF3333\"},hover:{border:\"#BB0000\",background:\"#FF3333\"}},{border:\"#FF6000\",background:\"#FF6000\",highlight:{border:\"#FF6000\",background:\"#FF6000\"},hover:{border:\"#FF6000\",background:\"#FF6000\"}},{border:\"#97C2FC\",background:\"#2B7CE9\",highlight:{border:\"#D2E5FF\",background:\"#2B7CE9\"},hover:{border:\"#D2E5FF\",background:\"#2B7CE9\"}},{border:\"#399605\",background:\"#255C03\",highlight:{border:\"#399605\",background:\"#255C03\"},hover:{border:\"#399605\",background:\"#255C03\"}},{border:\"#B70054\",background:\"#FF007E\",highlight:{border:\"#B70054\",background:\"#FF007E\"},hover:{border:\"#B70054\",background:\"#FF007E\"}},{border:\"#AD85E4\",background:\"#7C29F0\",highlight:{border:\"#D3BDF0\",background:\"#7C29F0\"},hover:{border:\"#D3BDF0\",background:\"#7C29F0\"}},{border:\"#4557FA\",background:\"#000EA1\",highlight:{border:\"#6E6EFD\",background:\"#000EA1\"},hover:{border:\"#6E6EFD\",background:\"#000EA1\"}},{border:\"#FFC0CB\",background:\"#FD5A77\",highlight:{border:\"#FFD1D9\",background:\"#FD5A77\"},hover:{border:\"#FFD1D9\",background:\"#FD5A77\"}},{border:\"#C2FABC\",background:\"#74D66A\",highlight:{border:\"#E6FFE3\",background:\"#74D66A\"},hover:{border:\"#E6FFE3\",background:\"#74D66A\"}},{border:\"#EE0000\",background:\"#990000\",highlight:{border:\"#FF3333\",background:\"#BB0000\"},hover:{border:\"#FF3333\",background:\"#BB0000\"}}],this.options={},this.defaultOptions={useDefaultGroups:!0},un(this.options,this.defaultOptions)}return Kd(t,[{key:\"setOptions\",value:function(t){var e=[\"useDefaultGroups\"];if(void 0!==t)for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&-1===Fp(e).call(e,i)){var n=t[i];this.add(i,n)}}},{key:\"clear\",value:function(){this._groups=new Jw,this._groupNames=[]}},{key:\"get\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this._groups.get(t);if(void 0===i&&e)if(!1===this.options.useDefaultGroups&&this._groupNames.length>0){var n=this._groupIndex%this._groupNames.length;++this._groupIndex,(i={}).color=this._groups.get(this._groupNames[n]),this._groups.set(t,i)}else{var o=this._defaultIndex%this._defaultGroups.length;this._defaultIndex++,(i={}).color=this._defaultGroups[o],this._groups.set(t,i)}return i}},{key:\"add\",value:function(t,e){return this._groups.has(t)||this._groupNames.push(t),this._groups.set(t,e),e}}]),t}();_i({target:\"Number\",stat:!0},{isNaN:function(t){return t!=t}});var ek=X.Number.isNaN,ik=n.isFinite,nk=Number.isFinite||function(t){return\"number\"==typeof t&&ik(t)};_i({target:\"Number\",stat:!0},{isFinite:nk});var ok=X.Number.isFinite,rk=Wh.some;_i({target:\"Array\",proto:!0,forced:!Cu(\"some\")},{some:function(t){return rk(this,t,arguments.length>1?arguments[1]:void 0)}});var sk=Tn(\"Array\").some,ak=J,hk=sk,lk=Array.prototype,dk=function(t){var e=t.some;return t===lk||ak(lk,t)&&e===lk.some?hk:e},ck=dk,uk=na,fk=bt,pk=n.TypeError,vk=_i,gk=d,yk=On,mk=function(t){if(uk(t))return t;throw pk(fk(t)+\" is not a constructor\")},bk=$e,wk=Y,kk=wr,_k=o,xk=Q(\"Reflect\",\"construct\"),Ek=Object.prototype,Ok=[].push,Ck=_k((function(){function t(){}return!(xk((function(){}),[],t)instanceof t)})),Sk=!_k((function(){xk((function(){}))})),Tk=Ck||Sk;vk({target:\"Reflect\",stat:!0,forced:Tk,sham:Tk},{construct:function(t,e){mk(t),bk(e);var i=arguments.length<3?t:mk(arguments[2]);if(Sk&&!Ck)return xk(t,e,i);if(t==i){switch(e.length){case 0:return new t;case 1:return new t(e[0]);case 2:return new t(e[0],e[1]);case 3:return new t(e[0],e[1],e[2]);case 4:return new t(e[0],e[1],e[2],e[3])}var n=[null];return gk(Ok,n,e),new(gk(yk,t,n))}var o=i.prototype,r=kk(wk(o)?o:Ek),s=gk(t,r,e);return wk(s)?s:r}});var Mk=X.Reflect.construct;function Pk(t){if(void 0===t)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return t}var Dk=Gp;_i({target:\"Object\",stat:!0},{setPrototypeOf:cs});var Ik=X.Object.setPrototypeOf;function Bk(t,e){return Bk=Ik||function(t,e){return t.__proto__=e,t},Bk(t,e)}function zk(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Super expression must either be null or a function\");t.prototype=Dk(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Xd(t,\"prototype\",{writable:!1}),e&&Bk(t,e)}function Nk(t,e){if(e&&(\"object\"===Qc(e)||\"function\"==typeof e))return e;if(void 0!==e)throw new TypeError(\"Derived constructors may only return object or undefined\");return Pk(t)}var Fk=Rf;function Ak(t){return Ak=Ik?Fk:function(t){return t.__proto__||Fk(t)},Ak(t)}var jk={exports:{}};!function(t){var e=function(t){var e,i=Object.prototype,n=i.hasOwnProperty,o=\"function\"==typeof Symbol?Symbol:{},r=o.iterator||\"@@iterator\",s=o.asyncIterator||\"@@asyncIterator\",a=o.toStringTag||\"@@toStringTag\";function h(t,e,i){return Object.defineProperty(t,e,{value:i,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{h({},\"\")}catch(t){h=function(t,e,i){return t[e]=i}}function l(t,e,i,n){var o=e&&e.prototype instanceof g?e:g,r=Object.create(o.prototype),s=new T(n||[]);return r._invoke=function(t,e,i){var n=c;return function(o,r){if(n===f)throw new Error(\"Generator is already running\");if(n===p){if(\"throw\"===o)throw r;return P()}for(i.method=o,i.arg=r;;){var s=i.delegate;if(s){var a=O(s,i);if(a){if(a===v)continue;return a}}if(\"next\"===i.method)i.sent=i._sent=i.arg;else if(\"throw\"===i.method){if(n===c)throw n=p,i.arg;i.dispatchException(i.arg)}else\"return\"===i.method&&i.abrupt(\"return\",i.arg);n=f;var h=d(t,e,i);if(\"normal\"===h.type){if(n=i.done?p:u,h.arg===v)continue;return{value:h.arg,done:i.done}}\"throw\"===h.type&&(n=p,i.method=\"throw\",i.arg=h.arg)}}}(t,i,s),r}function d(t,e,i){try{return{type:\"normal\",arg:t.call(e,i)}}catch(t){return{type:\"throw\",arg:t}}}t.wrap=l;var c=\"suspendedStart\",u=\"suspendedYield\",f=\"executing\",p=\"completed\",v={};function g(){}function y(){}function m(){}var b={};h(b,r,(function(){return this}));var w=Object.getPrototypeOf,k=w&&w(w(M([])));k&&k!==i&&n.call(k,r)&&(b=k);var _=m.prototype=g.prototype=Object.create(b);function x(t){[\"next\",\"throw\",\"return\"].forEach((function(e){h(t,e,(function(t){return this._invoke(e,t)}))}))}function E(t,e){function i(o,r,s,a){var h=d(t[o],t,r);if(\"throw\"!==h.type){var l=h.arg,c=l.value;return c&&\"object\"==typeof c&&n.call(c,\"__await\")?e.resolve(c.__await).then((function(t){i(\"next\",t,s,a)}),(function(t){i(\"throw\",t,s,a)})):e.resolve(c).then((function(t){l.value=t,s(l)}),(function(t){return i(\"throw\",t,s,a)}))}a(h.arg)}var o;this._invoke=function(t,n){function r(){return new e((function(e,o){i(t,n,e,o)}))}return o=o?o.then(r,r):r()}}function O(t,i){var n=t.iterator[i.method];if(n===e){if(i.delegate=null,\"throw\"===i.method){if(t.iterator.return&&(i.method=\"return\",i.arg=e,O(t,i),\"throw\"===i.method))return v;i.method=\"throw\",i.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return v}var o=d(n,t.iterator,i.arg);if(\"throw\"===o.type)return i.method=\"throw\",i.arg=o.arg,i.delegate=null,v;var r=o.arg;return r?r.done?(i[t.resultName]=r.value,i.next=t.nextLoc,\"return\"!==i.method&&(i.method=\"next\",i.arg=e),i.delegate=null,v):r:(i.method=\"throw\",i.arg=new TypeError(\"iterator result is not an object\"),i.delegate=null,v)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function S(t){var e=t.completion||{};e.type=\"normal\",delete e.arg,t.completion=e}function T(t){this.tryEntries=[{tryLoc:\"root\"}],t.forEach(C,this),this.reset(!0)}function M(t){if(t){var i=t[r];if(i)return i.call(t);if(\"function\"==typeof t.next)return t;if(!isNaN(t.length)){var o=-1,s=function i(){for(;++o<t.length;)if(n.call(t,o))return i.value=t[o],i.done=!1,i;return i.value=e,i.done=!0,i};return s.next=s}}return{next:P}}function P(){return{value:e,done:!0}}return y.prototype=m,h(_,\"constructor\",m),h(m,\"constructor\",y),y.displayName=h(m,a,\"GeneratorFunction\"),t.isGeneratorFunction=function(t){var e=\"function\"==typeof t&&t.constructor;return!!e&&(e===y||\"GeneratorFunction\"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,m):(t.__proto__=m,h(t,a,\"GeneratorFunction\")),t.prototype=Object.create(_),t},t.awrap=function(t){return{__await:t}},x(E.prototype),h(E.prototype,s,(function(){return this})),t.AsyncIterator=E,t.async=function(e,i,n,o,r){void 0===r&&(r=Promise);var s=new E(l(e,i,n,o),r);return t.isGeneratorFunction(i)?s:s.next().then((function(t){return t.done?t.value:s.next()}))},x(_),h(_,a,\"Generator\"),h(_,r,(function(){return this})),h(_,\"toString\",(function(){return\"[object Generator]\"})),t.keys=function(t){var e=[];for(var i in t)e.push(i);return e.reverse(),function i(){for(;e.length;){var n=e.pop();if(n in t)return i.value=n,i.done=!1,i}return i.done=!0,i}},t.values=M,T.prototype={constructor:T,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method=\"next\",this.arg=e,this.tryEntries.forEach(S),!t)for(var i in this)\"t\"===i.charAt(0)&&n.call(this,i)&&!isNaN(+i.slice(1))&&(this[i]=e)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if(\"throw\"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var i=this;function o(n,o){return a.type=\"throw\",a.arg=t,i.next=n,o&&(i.method=\"next\",i.arg=e),!!o}for(var r=this.tryEntries.length-1;r>=0;--r){var s=this.tryEntries[r],a=s.completion;if(\"root\"===s.tryLoc)return o(\"end\");if(s.tryLoc<=this.prev){var h=n.call(s,\"catchLoc\"),l=n.call(s,\"finallyLoc\");if(h&&l){if(this.prev<s.catchLoc)return o(s.catchLoc,!0);if(this.prev<s.finallyLoc)return o(s.finallyLoc)}else if(h){if(this.prev<s.catchLoc)return o(s.catchLoc,!0)}else{if(!l)throw new Error(\"try statement without catch or finally\");if(this.prev<s.finallyLoc)return o(s.finallyLoc)}}}},abrupt:function(t,e){for(var i=this.tryEntries.length-1;i>=0;--i){var o=this.tryEntries[i];if(o.tryLoc<=this.prev&&n.call(o,\"finallyLoc\")&&this.prev<o.finallyLoc){var r=o;break}}r&&(\"break\"===t||\"continue\"===t)&&r.tryLoc<=e&&e<=r.finallyLoc&&(r=null);var s=r?r.completion:{};return s.type=t,s.arg=e,r?(this.method=\"next\",this.next=r.finallyLoc,v):this.complete(s)},complete:function(t,e){if(\"throw\"===t.type)throw t.arg;return\"break\"===t.type||\"continue\"===t.type?this.next=t.arg:\"return\"===t.type?(this.rval=this.arg=t.arg,this.method=\"return\",this.next=\"end\"):\"normal\"===t.type&&e&&(this.next=e),v},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.finallyLoc===t)return this.complete(i.completion,i.afterLoc),S(i),v}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var i=this.tryEntries[e];if(i.tryLoc===t){var n=i.completion;if(\"throw\"===n.type){var o=n.arg;S(i)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(t,i,n){return this.delegate={iterator:M(t),resultName:i,nextLoc:n},\"next\"===this.method&&(this.arg=e),v}},t}(t.exports);try{regeneratorRuntime=e}catch(t){\"object\"==typeof globalThis?globalThis.regeneratorRuntime=e:Function(\"r\",\"regeneratorRuntime = r\")(e)}}(jk);var Rk=jk.exports,Lk=xt,Hk=Rt,Wk=R,qk=Bi,Vk=n.TypeError,Uk=function(t){return function(e,i,n,o){Lk(i);var r=Hk(e),s=Wk(r),a=qk(r),h=t?a-1:0,l=t?-1:1;if(n<2)for(;;){if(h in s){o=s[h],h+=l;break}if(h+=l,t?h<0:a<=h)throw Vk(\"Reduce of empty array with no initial value\")}for(;t?h>=0:a>h;h+=l)h in s&&(o=i(o,s[h],h,r));return o}},Yk={left:Uk(!1),right:Uk(!0)},Xk=\"process\"==B(n.process),Gk=Yk.left,Kk=at,$k=Xk;_i({target:\"Array\",proto:!0,forced:!Cu(\"reduce\")||!$k&&Kk>79&&Kk<83},{reduce:function(t){var e=arguments.length;return Gk(this,t,e,e>1?arguments[1]:void 0)}});var Zk=Tn(\"Array\").reduce,Qk=J,Jk=Zk,t_=Array.prototype,e_=function(t){var e=t.reduce;return t===t_||Qk(t_,t)&&e===t_.reduce?Jk:e},i_=e_,n_=oh,o_=Bi,r_=qe,s_=n.TypeError,a_=function(t,e,i,n,o,r,s,a){for(var h,l,d=o,c=0,u=!!s&&r_(s,a);c<n;){if(c in i){if(h=u?u(i[c],c,e):i[c],r>0&&n_(h))l=o_(h),d=a_(t,e,h,l,d,r-1)-1;else{if(d>=9007199254740991)throw s_(\"Exceed the acceptable array length\");t[d]=h}d++}c++}return d},h_=a_,l_=xt,d_=Rt,c_=Bi,u_=zh;_i({target:\"Array\",proto:!0},{flatMap:function(t){var e,i=d_(this),n=c_(i);return l_(t),(e=u_(i,0)).length=h_(e,i,i,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}});var f_=Tn(\"Array\").flatMap,p_=J,v_=f_,g_=Array.prototype,y_=function(t){var e=t.flatMap;return t===g_||p_(g_,t)&&e===g_.flatMap?v_:e},m_=y_;Bw(\"Set\",(function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}}),Qw);var b_=X.Set,w_=$c,k_=ba,__=ph,x_=Math.floor,E_=function(t,e){var i=t.length,n=x_(i/2);return i<8?O_(t,e):C_(t,E_(__(t,0,n),e),E_(__(t,n),e),e)},O_=function(t,e){for(var i,n,o=t.length,r=1;r<o;){for(n=r,i=t[r];n&&e(t[n-1],i)>0;)t[n]=t[--n];n!==r++&&(t[n]=i)}return t},C_=function(t,e,i,n){for(var o=e.length,r=i.length,s=0,a=0;s<o||a<r;)t[s+a]=s<o&&a<r?n(e[s],i[a])<=0?e[s++]:i[a++]:s<o?e[s++]:i[a++];return t},S_=E_,T_=tt.match(/firefox\\/(\\d+)/i),M_=!!T_&&+T_[1],P_=/MSIE|Trident/.test(tt),D_=tt.match(/AppleWebKit\\/(\\d+)\\./),I_=!!D_&&+D_[1],B_=_i,z_=g,N_=xt,F_=Rt,A_=Bi,j_=eo,R_=o,L_=S_,H_=Cu,W_=M_,q_=P_,V_=at,U_=I_,Y_=[],X_=z_(Y_.sort),G_=z_(Y_.push),K_=R_((function(){Y_.sort(void 0)})),$_=R_((function(){Y_.sort(null)})),Z_=H_(\"sort\"),Q_=!R_((function(){if(V_)return V_<70;if(!(W_&&W_>3)){if(q_)return!0;if(U_)return U_<603;var t,e,i,n,o=\"\";for(t=65;t<76;t++){switch(e=String.fromCharCode(t),t){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(n=0;n<47;n++)Y_.push({k:e+n,v:i})}for(Y_.sort((function(t,e){return e.v-t.v})),n=0;n<Y_.length;n++)e=Y_[n].k.charAt(0),o.charAt(o.length-1)!==e&&(o+=e);return\"DGBEFHACIJK\"!==o}}));B_({target:\"Array\",proto:!0,forced:K_||!$_||!Z_||!Q_},{sort:function(t){void 0!==t&&N_(t);var e=F_(this);if(Q_)return void 0===t?X_(e):X_(e,t);var i,n,o=[],r=A_(e);for(n=0;n<r;n++)n in e&&G_(o,e[n]);for(L_(o,function(t){return function(e,i){return void 0===i?-1:void 0===e?1:void 0!==t?+t(e,i)||0:j_(e)>j_(i)?1:-1}}(t)),i=o.length,n=0;n<i;)e[n]=o[n++];for(;n<r;)delete e[n++];return e}});var J_,tx=Tn(\"Array\").sort,ex=J,ix=tx,nx=Array.prototype,ox=function(t){var e=t.sort;return t===nx||ex(nx,t)&&e===nx.sort?ix:e},rx=ox,sx=Tn(\"Array\").keys,ax=Qn,hx=Wt,lx=J,dx=sx,cx=Array.prototype,ux={DOMTokenList:!0,NodeList:!0},fx=function(t){var e=t.keys;return t===cx||lx(cx,t)&&e===cx.keys||hx(ux,ax(t))?dx:e},px=Tn(\"Array\").values,vx=Qn,gx=Wt,yx=J,mx=px,bx=Array.prototype,wx={DOMTokenList:!0,NodeList:!0},kx=function(t){var e=t.values;return t===bx||yx(bx,t)&&e===bx.values||gx(wx,vx(t))?mx:e},_x=Tn(\"Array\").entries,xx=Qn,Ex=Wt,Ox=J,Cx=_x,Sx=Array.prototype,Tx={DOMTokenList:!0,NodeList:!0},Mx=function(t){var e=t.entries;return t===Sx||Ox(Sx,t)&&e===Sx.entries||Ex(Tx,xx(t))?Cx:e},Px=new Uint8Array(16);function Dx(){if(!J_&&!(J_=\"undefined\"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||\"undefined\"!=typeof msCrypto&&\"function\"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return J_(Px)}var Ix=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;function Bx(t){return\"string\"==typeof t&&Ix.test(t)}for(var zx,Nx=[],Fx=0;Fx<256;++Fx)Nx.push((Fx+256).toString(16).substr(1));function Ax(t,e,i){var n=(t=t||{}).random||(t.rng||Dx)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,e){i=i||0;for(var o=0;o<16;++o)e[i+o]=n[o];return e}return function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,i=(Nx[t[e+0]]+Nx[t[e+1]]+Nx[t[e+2]]+Nx[t[e+3]]+\"-\"+Nx[t[e+4]]+Nx[t[e+5]]+\"-\"+Nx[t[e+6]]+Nx[t[e+7]]+\"-\"+Nx[t[e+8]]+Nx[t[e+9]]+\"-\"+Nx[t[e+10]]+Nx[t[e+11]]+Nx[t[e+12]]+Nx[t[e+13]]+Nx[t[e+14]]+Nx[t[e+15]]).toLowerCase();if(!Bx(i))throw TypeError(\"Stringified UUID is invalid\");return i}(n)}function jx(t,e){var i=bu(t);if(hd){var n=hd(t);e&&(n=Xf(n).call(n,(function(e){return bd(t,e).enumerable}))),i.push.apply(i,n)}return i}function Rx(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Fu(i=jx(Object(o),!0)).call(i,(function(e){$d(t,e,o[e])})):Pd?Ad(t,Pd(o)):Fu(n=jx(Object(o))).call(n,(function(e){Ud(t,e,bd(o,e))}))}return t}function Lx(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}function Hx(t,e){var i=void 0!==tu&&ih(t)||t[\"@@iterator\"];if(!i){if(lu(t)||(i=function(t,e){var i;if(!t)return;if(\"string\"==typeof t)return Wx(t,e);var n=au(i=Object.prototype.toString.call(t)).call(i,8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return ja(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Wx(t,e)}(t))||e&&t&&\"number\"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Wx(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var qx=function(){function t(e,i,n){var o,r,s;Yd(this,t),$d(this,\"_source\",void 0),$d(this,\"_transformers\",void 0),$d(this,\"_target\",void 0),$d(this,\"_listeners\",{add:zn(o=this._add).call(o,this),remove:zn(r=this._remove).call(r,this),update:zn(s=this._update).call(s,this)}),this._source=e,this._transformers=i,this._target=n}return Kd(t,[{key:\"all\",value:function(){return this._target.update(this._transformItems(this._source.get())),this}},{key:\"start\",value:function(){return this._source.on(\"add\",this._listeners.add),this._source.on(\"remove\",this._listeners.remove),this._source.on(\"update\",this._listeners.update),this}},{key:\"stop\",value:function(){return this._source.off(\"add\",this._listeners.add),this._source.off(\"remove\",this._listeners.remove),this._source.off(\"update\",this._listeners.update),this}},{key:\"_transformItems\",value:function(t){var e;return i_(e=this._transformers).call(e,(function(t,e){return e(t)}),t)}},{key:\"_add\",value:function(t,e){null!=e&&this._target.add(this._transformItems(this._source.get(e.items)))}},{key:\"_update\",value:function(t,e){null!=e&&this._target.update(this._transformItems(this._source.get(e.items)))}},{key:\"_remove\",value:function(t,e){null!=e&&this._target.remove(this._transformItems(e.oldData))}}]),t}(),Vx=function(){function t(e){Yd(this,t),$d(this,\"_source\",void 0),$d(this,\"_transformers\",[]),this._source=e}return Kd(t,[{key:\"filter\",value:function(t){return this._transformers.push((function(e){return Xf(e).call(e,t)})),this}},{key:\"map\",value:function(t){return this._transformers.push((function(e){return gu(e).call(e,t)})),this}},{key:\"flatMap\",value:function(t){return this._transformers.push((function(e){return m_(e).call(e,t)})),this}},{key:\"to\",value:function(t){return new qx(this._source,this._transformers,t)}}]),t}();function Ux(t){return\"string\"==typeof t||\"number\"==typeof t}var Yx=function(){function t(e){Yd(this,t),$d(this,\"delay\",void 0),$d(this,\"max\",void 0),$d(this,\"_queue\",[]),$d(this,\"_timeout\",null),$d(this,\"_extended\",null),this.delay=null,this.max=1/0,this.setOptions(e)}return Kd(t,[{key:\"setOptions\",value:function(t){t&&void 0!==t.delay&&(this.delay=t.delay),t&&void 0!==t.max&&(this.max=t.max),this._flushIfNeeded()}},{key:\"destroy\",value:function(){if(this.flush(),this._extended){for(var t=this._extended.object,e=this._extended.methods,i=0;i<e.length;i++){var n=e[i];n.original?t[n.name]=n.original:delete t[n.name]}this._extended=null}}},{key:\"replace\",value:function(t,e){var i=this,n=t[e];if(!n)throw new Error(\"Method \"+e+\" undefined\");t[e]=function(){for(var t=arguments.length,e=new Array(t),o=0;o<t;o++)e[o]=arguments[o];i.queue({args:e,fn:n,context:this})}}},{key:\"queue\",value:function(t){\"function\"==typeof t?this._queue.push({fn:t}):this._queue.push(t),this._flushIfNeeded()}},{key:\"_flushIfNeeded\",value:function(){var t=this;this._queue.length>this.max&&this.flush(),null!=this._timeout&&(clearTimeout(this._timeout),this._timeout=null),this.queue.length>0&&\"number\"==typeof this.delay&&(this._timeout=Sv((function(){t.flush()}),this.delay))}},{key:\"flush\",value:function(){var t,e;Fu(t=ff(e=this._queue).call(e,0)).call(t,(function(t){t.fn.apply(t.context||t.fn,t.args||[])}))}}],[{key:\"extend\",value:function(e,i){var n=new t(i);if(void 0!==e.flush)throw new Error(\"Target object already has a property flush\");e.flush=function(){n.flush()};var o=[{name:\"flush\",original:void 0}];if(i&&i.replace)for(var r=0;r<i.replace.length;r++){var s=i.replace[r];o.push({name:s,original:e[s]}),n.replace(e,s)}return n._extended={object:e,methods:o},n}}]),t}(),Xx=function(){function t(){Yd(this,t),$d(this,\"_subscribers\",{\"*\":[],add:[],remove:[],update:[]}),$d(this,\"subscribe\",t.prototype.on),$d(this,\"unsubscribe\",t.prototype.off)}return Kd(t,[{key:\"_trigger\",value:function(t,e,i){var n,o;if(\"*\"===t)throw new Error(\"Cannot trigger event *\");Fu(n=su(o=[]).call(o,Jc(this._subscribers[t]),Jc(this._subscribers[\"*\"]))).call(n,(function(n){n(t,e,null!=i?i:null)}))}},{key:\"on\",value:function(t,e){\"function\"==typeof e&&this._subscribers[t].push(e)}},{key:\"off\",value:function(t,e){var i;this._subscribers[t]=Xf(i=this._subscribers[t]).call(i,(function(t){return t!==e}))}}]),t}();zx=w_;var Gx=function(){function t(e){Yd(this,t),$d(this,\"_pairs\",void 0),this._pairs=e}return Kd(t,[{key:zx,value:Rk.mark((function t(){var e,i,n,o,r;return Rk.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=Hx(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Kc(i.value,2),o=n[0],r=n[1],t.next=7,[o,r];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case\"end\":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:\"entries\",value:Rk.mark((function t(){var e,i,n,o,r;return Rk.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=Hx(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Kc(i.value,2),o=n[0],r=n[1],t.next=7,[o,r];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case\"end\":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:\"keys\",value:Rk.mark((function t(){var e,i,n,o;return Rk.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=Hx(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Kc(i.value,1),o=n[0],t.next=7,o;case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case\"end\":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:\"values\",value:Rk.mark((function t(){var e,i,n,o;return Rk.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e=Hx(this._pairs),t.prev=1,e.s();case 3:if((i=e.n()).done){t.next=9;break}return n=Kc(i.value,2),o=n[1],t.next=7,o;case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),e.e(t.t0);case 14:return t.prev=14,e.f(),t.finish(14);case 17:case\"end\":return t.stop()}}),t,this,[[1,11,14,17]])}))},{key:\"toIdArray\",value:function(){var t;return gu(t=Jc(this._pairs)).call(t,(function(t){return t[0]}))}},{key:\"toItemArray\",value:function(){var t;return gu(t=Jc(this._pairs)).call(t,(function(t){return t[1]}))}},{key:\"toEntryArray\",value:function(){return Jc(this._pairs)}},{key:\"toObjectMap\",value:function(){var t,e=Kp(null),i=Hx(this._pairs);try{for(i.s();!(t=i.n()).done;){var n=Kc(t.value,2),o=n[0],r=n[1];e[o]=r}}catch(t){i.e(t)}finally{i.f()}return e}},{key:\"toMap\",value:function(){return new Jw(this._pairs)}},{key:\"toIdSet\",value:function(){return new b_(this.toIdArray())}},{key:\"toItemSet\",value:function(){return new b_(this.toItemArray())}},{key:\"cache\",value:function(){return new t(Jc(this._pairs))}},{key:\"distinct\",value:function(t){var e,i=new b_,n=Hx(this._pairs);try{for(n.s();!(e=n.n()).done;){var o=Kc(e.value,2),r=o[0],s=o[1];i.add(t(s,r))}}catch(t){n.e(t)}finally{n.f()}return i}},{key:\"filter\",value:function(e){var i=this._pairs;return new t($d({},w_,Rk.mark((function t(){var n,o,r,s,a;return Rk.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=Hx(i),t.prev=1,n.s();case 3:if((o=n.n()).done){t.next=10;break}if(r=Kc(o.value,2),s=r[0],a=r[1],!e(a,s)){t.next=8;break}return t.next=8,[s,a];case 8:t.next=3;break;case 10:t.next=15;break;case 12:t.prev=12,t.t0=t.catch(1),n.e(t.t0);case 15:return t.prev=15,n.f(),t.finish(15);case 18:case\"end\":return t.stop()}}),t,null,[[1,12,15,18]])}))))}},{key:\"forEach\",value:function(t){var e,i=Hx(this._pairs);try{for(i.s();!(e=i.n()).done;){var n=Kc(e.value,2),o=n[0];t(n[1],o)}}catch(t){i.e(t)}finally{i.f()}}},{key:\"map\",value:function(e){var i=this._pairs;return new t($d({},w_,Rk.mark((function t(){var n,o,r,s,a;return Rk.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:n=Hx(i),t.prev=1,n.s();case 3:if((o=n.n()).done){t.next=9;break}return r=Kc(o.value,2),s=r[0],a=r[1],t.next=7,[s,e(a,s)];case 7:t.next=3;break;case 9:t.next=14;break;case 11:t.prev=11,t.t0=t.catch(1),n.e(t.t0);case 14:return t.prev=14,n.f(),t.finish(14);case 17:case\"end\":return t.stop()}}),t,null,[[1,11,14,17]])}))))}},{key:\"max\",value:function(t){var e=k_(this._pairs),i=e.next();if(i.done)return null;for(var n=i.value[1],o=t(i.value[1],i.value[0]);!(i=e.next()).done;){var r=Kc(i.value,2),s=r[0],a=r[1],h=t(a,s);h>o&&(o=h,n=a)}return n}},{key:\"min\",value:function(t){var e=k_(this._pairs),i=e.next();if(i.done)return null;for(var n=i.value[1],o=t(i.value[1],i.value[0]);!(i=e.next()).done;){var r=Kc(i.value,2),s=r[0],a=r[1],h=t(a,s);h<o&&(o=h,n=a)}return n}},{key:\"reduce\",value:function(t,e){var i,n=Hx(this._pairs);try{for(n.s();!(i=n.n()).done;){var o=Kc(i.value,2),r=o[0];e=t(e,o[1],r)}}catch(t){n.e(t)}finally{n.f()}return e}},{key:\"sort\",value:function(e){var i=this;return new t($d({},w_,(function(){var t;return k_(rx(t=Jc(i._pairs)).call(t,(function(t,i){var n=Kc(t,2),o=n[0],r=n[1],s=Kc(i,2),a=s[0],h=s[1];return e(r,h,o,a)})))})))}}]),t}();var Kx=function(t){zk(i,t);var e=Lx(i);function i(t,n){var o;return Yd(this,i),$d(Pk(o=e.call(this)),\"flush\",void 0),$d(Pk(o),\"length\",void 0),$d(Pk(o),\"_options\",void 0),$d(Pk(o),\"_data\",void 0),$d(Pk(o),\"_idProp\",void 0),$d(Pk(o),\"_queue\",null),t&&!lu(t)&&(n=t,t=[]),o._options=n||{},o._data=new Jw,o.length=0,o._idProp=o._options.fieldId||\"id\",t&&t.length&&o.add(t),o.setOptions(n),o}return Kd(i,[{key:\"idProp\",get:function(){return this._idProp}},{key:\"setOptions\",value:function(t){t&&void 0!==t.queue&&(!1===t.queue?this._queue&&(this._queue.destroy(),this._queue=null):(this._queue||(this._queue=Yx.extend(this,{replace:[\"add\",\"update\",\"remove\"]})),t.queue&&\"object\"===Qc(t.queue)&&this._queue.setOptions(t.queue)))}},{key:\"add\",value:function(t,e){var i,n=this,o=[];if(lu(t)){var r=gu(t).call(t,(function(t){return t[n._idProp]}));if(ck(r).call(r,(function(t){return n._data.has(t)})))throw new Error(\"A duplicate id was found in the parameter array.\");for(var s=0,a=t.length;s<a;s++)i=this._addItem(t[s]),o.push(i)}else{if(!t||\"object\"!==Qc(t))throw new Error(\"Unknown dataType\");i=this._addItem(t),o.push(i)}return o.length&&this._trigger(\"add\",{items:o},e),o}},{key:\"update\",value:function(t,e){var i=this,n=[],o=[],r=[],s=[],a=this._idProp,h=function(t){var e=t[a];if(null!=e&&i._data.has(e)){var h=t,l=un({},i._data.get(e)),d=i._updateItem(h);o.push(d),s.push(h),r.push(l)}else{var c=i._addItem(t);n.push(c)}};if(lu(t))for(var l=0,d=t.length;l<d;l++)t[l]&&\"object\"===Qc(t[l])?h(t[l]):console.warn(\"Ignoring input item, which is not an object at index \"+l);else{if(!t||\"object\"!==Qc(t))throw new Error(\"Unknown dataType\");h(t)}if(n.length&&this._trigger(\"add\",{items:n},e),o.length){var c={items:o,oldData:r,data:s};this._trigger(\"update\",c,e)}return su(n).call(n,o)}},{key:\"updateOnly\",value:function(t,e){var i,n=this;lu(t)||(t=[t]);var o=gu(i=gu(t).call(t,(function(t){var e=n._data.get(t[n._idProp]);if(null==e)throw new Error(\"Updating non-existent items is not allowed.\");return{oldData:e,update:t}}))).call(i,(function(t){var e=t.oldData,i=t.update,o=e[n._idProp],r=By(e,i);return n._data.set(o,r),{id:o,oldData:e,updatedData:r}}));if(o.length){var r={items:gu(o).call(o,(function(t){return t.id})),oldData:gu(o).call(o,(function(t){return t.oldData})),data:gu(o).call(o,(function(t){return t.updatedData}))};return this._trigger(\"update\",r,e),r.items}return[]}},{key:\"get\",value:function(t,e){var i=void 0,n=void 0,o=void 0;Ux(t)?(i=t,o=e):lu(t)?(n=t,o=e):o=t;var r,s=o&&\"Object\"===o.returnType?\"Object\":\"Array\",a=o&&Xf(o),h=[],l=void 0,d=void 0,c=void 0;if(null!=i)(l=this._data.get(i))&&a&&!a(l)&&(l=void 0);else if(null!=n)for(var u=0,f=n.length;u<f;u++)null==(l=this._data.get(n[u]))||a&&!a(l)||h.push(l);else for(var p,v=0,g=(d=Jc(fx(p=this._data).call(p))).length;v<g;v++)c=d[v],null==(l=this._data.get(c))||a&&!a(l)||h.push(l);if(o&&o.order&&null==i&&this._sort(h,o.order),o&&o.fields){var y=o.fields;if(null!=i&&null!=l)l=this._filterFields(l,y);else for(var m=0,b=h.length;m<b;m++)h[m]=this._filterFields(h[m],y)}if(\"Object\"==s){for(var w={},k=0,_=h.length;k<_;k++){var x=h[k];w[x[this._idProp]]=x}return w}return null!=i?null!==(r=l)&&void 0!==r?r:null:h}},{key:\"getIds\",value:function(t){var e=this._data,i=t&&Xf(t),n=t&&t.order,o=Jc(fx(e).call(e)),r=[];if(i)if(n){for(var s=[],a=0,h=o.length;a<h;a++){var l=o[a],d=this._data.get(l);null!=d&&i(d)&&s.push(d)}this._sort(s,n);for(var c=0,u=s.length;c<u;c++)r.push(s[c][this._idProp])}else for(var f=0,p=o.length;f<p;f++){var v=o[f],g=this._data.get(v);null!=g&&i(g)&&r.push(g[this._idProp])}else if(n){for(var y=[],m=0,b=o.length;m<b;m++){var w=o[m];y.push(e.get(w))}this._sort(y,n);for(var k=0,_=y.length;k<_;k++)r.push(y[k][this._idProp])}else for(var x=0,E=o.length;x<E;x++){var O=o[x],C=e.get(O);null!=C&&r.push(C[this._idProp])}return r}},{key:\"getDataSet\",value:function(){return this}},{key:\"forEach\",value:function(t,e){var i=e&&Xf(e),n=this._data,o=Jc(fx(n).call(n));if(e&&e.order)for(var r=this.get(e),s=0,a=r.length;s<a;s++){var h=r[s];t(h,h[this._idProp])}else for(var l=0,d=o.length;l<d;l++){var c=o[l],u=this._data.get(c);null==u||i&&!i(u)||t(u,c)}}},{key:\"map\",value:function(t,e){for(var i=e&&Xf(e),n=[],o=this._data,r=Jc(fx(o).call(o)),s=0,a=r.length;s<a;s++){var h=r[s],l=this._data.get(h);null==l||i&&!i(l)||n.push(t(l,h))}return e&&e.order&&this._sort(n,e.order),n}},{key:\"_filterFields\",value:function(t,e){var i;return t?i_(i=lu(e)?e:bu(e)).call(i,(function(e,i){return e[i]=t[i],e}),{}):t}},{key:\"_sort\",value:function(t,e){if(\"string\"==typeof e){var i=e;rx(t).call(t,(function(t,e){var n=t[i],o=e[i];return n>o?1:n<o?-1:0}))}else{if(\"function\"!=typeof e)throw new TypeError(\"Order must be a function or a string\");rx(t).call(t,e)}}},{key:\"remove\",value:function(t,e){for(var i=[],n=[],o=lu(t)?t:[t],r=0,s=o.length;r<s;r++){var a=this._remove(o[r]);if(a){var h=a[this._idProp];null!=h&&(i.push(h),n.push(a))}}return i.length&&this._trigger(\"remove\",{items:i,oldData:n},e),i}},{key:\"_remove\",value:function(t){var e;if(Ux(t)?e=t:t&&\"object\"===Qc(t)&&(e=t[this._idProp]),null!=e&&this._data.has(e)){var i=this._data.get(e)||null;return this._data.delete(e),--this.length,i}return null}},{key:\"clear\",value:function(t){for(var e,i=Jc(fx(e=this._data).call(e)),n=[],o=0,r=i.length;o<r;o++)n.push(this._data.get(i[o]));return this._data.clear(),this.length=0,this._trigger(\"remove\",{items:i,oldData:n},t),i}},{key:\"max\",value:function(t){var e,i,n=null,o=null,r=Hx(kx(e=this._data).call(e));try{for(r.s();!(i=r.n()).done;){var s=i.value,a=s[t];\"number\"==typeof a&&(null==o||a>o)&&(n=s,o=a)}}catch(t){r.e(t)}finally{r.f()}return n||null}},{key:\"min\",value:function(t){var e,i,n=null,o=null,r=Hx(kx(e=this._data).call(e));try{for(r.s();!(i=r.n()).done;){var s=i.value,a=s[t];\"number\"==typeof a&&(null==o||a<o)&&(n=s,o=a)}}catch(t){r.e(t)}finally{r.f()}return n||null}},{key:\"distinct\",value:function(t){for(var e=this._data,i=Jc(fx(e).call(e)),n=[],o=0,r=0,s=i.length;r<s;r++){for(var a=i[r],h=e.get(a)[t],l=!1,d=0;d<o;d++)if(n[d]==h){l=!0;break}l||void 0===h||(n[o]=h,o++)}return n}},{key:\"_addItem\",value:function(t){var e=function(t,e){return null==t[e]&&(t[e]=Ax()),t}(t,this._idProp),i=e[this._idProp];if(this._data.has(i))throw new Error(\"Cannot add item: item with id \"+i+\" already exists\");return this._data.set(i,e),++this.length,i}},{key:\"_updateItem\",value:function(t){var e=t[this._idProp];if(null==e)throw new Error(\"Cannot update item: item has no id (item: \"+gv(t)+\")\");var i=this._data.get(e);if(!i)throw new Error(\"Cannot update item: no item with id \"+e+\" found\");return this._data.set(e,Rx(Rx({},i),t)),e}},{key:\"stream\",value:function(t){if(t){var e=this._data;return new Gx($d({},w_,Rk.mark((function i(){var n,o,r,s;return Rk.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:n=Hx(t),i.prev=1,n.s();case 3:if((o=n.n()).done){i.next=11;break}if(r=o.value,null==(s=e.get(r))){i.next=9;break}return i.next=9,[r,s];case 9:i.next=3;break;case 11:i.next=16;break;case 13:i.prev=13,i.t0=i.catch(1),n.e(i.t0);case 16:return i.prev=16,n.f(),i.finish(16);case 19:case\"end\":return i.stop()}}),i,null,[[1,13,16,19]])}))))}var i;return new Gx($d({},w_,zn(i=Mx(this._data)).call(i,this._data)))}}]),i}(Xx),$x=function(t){zk(i,t);var e=Lx(i);function i(t,n){var o,r;return Yd(this,i),$d(Pk(r=e.call(this)),\"length\",0),$d(Pk(r),\"_listener\",void 0),$d(Pk(r),\"_data\",void 0),$d(Pk(r),\"_ids\",new b_),$d(Pk(r),\"_options\",void 0),r._options=n||{},r._listener=zn(o=r._onEvent).call(o,Pk(r)),r.setData(t),r}return Kd(i,[{key:\"idProp\",get:function(){return this.getDataSet().idProp}},{key:\"setData\",value:function(t){if(this._data){this._data.off&&this._data.off(\"*\",this._listener);var e=this._data.getIds({filter:Xf(this._options)}),i=this._data.get(e);this._ids.clear(),this.length=0,this._trigger(\"remove\",{items:e,oldData:i})}if(null!=t){this._data=t;for(var n=this._data.getIds({filter:Xf(this._options)}),o=0,r=n.length;o<r;o++){var s=n[o];this._ids.add(s)}this.length=n.length,this._trigger(\"add\",{items:n})}else this._data=new Kx;this._data.on&&this._data.on(\"*\",this._listener)}},{key:\"refresh\",value:function(){for(var t=this._data.getIds({filter:Xf(this._options)}),e=Jc(this._ids),i={},n=[],o=[],r=[],s=0,a=t.length;s<a;s++){var h=t[s];i[h]=!0,this._ids.has(h)||(n.push(h),this._ids.add(h))}for(var l=0,d=e.length;l<d;l++){var c=e[l],u=this._data.get(c);null==u?console.error(\"If you see this, report it please.\"):i[c]||(o.push(c),r.push(u),this._ids.delete(c))}this.length+=n.length-o.length,n.length&&this._trigger(\"add\",{items:n}),o.length&&this._trigger(\"remove\",{items:o,oldData:r})}},{key:\"get\",value:function(t,e){if(null==this._data)return null;var i,n=null;Ux(t)||lu(t)?(n=t,i=e):i=t;var o=un({},this._options,i),r=Xf(this._options),s=i&&Xf(i);return r&&s&&(o.filter=function(t){return r(t)&&s(t)}),null==n?this._data.get(o):this._data.get(n,o)}},{key:\"getIds\",value:function(t){if(this._data.length){var e,i=Xf(this._options),n=null!=t?Xf(t):null;return e=n?i?function(t){return i(t)&&n(t)}:n:i,this._data.getIds({filter:e,order:t&&t.order})}return[]}},{key:\"forEach\",value:function(t,e){if(this._data){var i,n,o=Xf(this._options),r=e&&Xf(e);n=r?o?function(t){return o(t)&&r(t)}:r:o,Fu(i=this._data).call(i,t,{filter:n,order:e&&e.order})}}},{key:\"map\",value:function(t,e){if(this._data){var i,n,o=Xf(this._options),r=e&&Xf(e);return n=r?o?function(t){return o(t)&&r(t)}:r:o,gu(i=this._data).call(i,t,{filter:n,order:e&&e.order})}return[]}},{key:\"getDataSet\",value:function(){return this._data.getDataSet()}},{key:\"stream\",value:function(t){var e;return this._data.stream(t||$d({},w_,zn(e=fx(this._ids)).call(e,this._ids)))}},{key:\"dispose\",value:function(){var t;null!==(t=this._data)&&void 0!==t&&t.off&&this._data.off(\"*\",this._listener);var e,n=\"This data view has already been disposed of.\",o={get:function(){throw new Error(n)},set:function(){throw new Error(n)},configurable:!1},r=Hx(hu(i.prototype));try{for(r.s();!(e=r.n()).done;){var s=e.value;Ud(this,s,o)}}catch(t){r.e(t)}finally{r.f()}}},{key:\"_onEvent\",value:function(t,e,i){if(e&&e.items&&this._data){var n=e.items,o=[],r=[],s=[],a=[],h=[],l=[];switch(t){case\"add\":for(var d=0,c=n.length;d<c;d++){var u=n[d];this.get(u)&&(this._ids.add(u),o.push(u))}break;case\"update\":for(var f=0,p=n.length;f<p;f++){var v=n[f];this.get(v)?this._ids.has(v)?(r.push(v),h.push(e.data[f]),a.push(e.oldData[f])):(this._ids.add(v),o.push(v)):this._ids.has(v)&&(this._ids.delete(v),s.push(v),l.push(e.oldData[f]))}break;case\"remove\":for(var g=0,y=n.length;g<y;g++){var m=n[g];this._ids.has(m)&&(this._ids.delete(m),s.push(m),l.push(e.oldData[g]))}}this.length+=o.length-s.length,o.length&&this._trigger(\"add\",{items:o},i),r.length&&this._trigger(\"update\",{items:r,oldData:a,data:h},i),s.length&&this._trigger(\"remove\",{items:s,oldData:l},i)}}}]),i}(Xx);function Zx(t,e){return\"object\"===Qc(e)&&null!==e&&t===e.idProp&&\"function\"==typeof e.add&&\"function\"==typeof e.clear&&\"function\"==typeof e.distinct&&\"function\"==typeof Fu(e)&&\"function\"==typeof e.get&&\"function\"==typeof e.getDataSet&&\"function\"==typeof e.getIds&&\"number\"==typeof e.length&&\"function\"==typeof gu(e)&&\"function\"==typeof e.max&&\"function\"==typeof e.min&&\"function\"==typeof e.off&&\"function\"==typeof e.on&&\"function\"==typeof e.remove&&\"function\"==typeof e.setOptions&&\"function\"==typeof e.stream&&\"function\"==typeof e.update&&\"function\"==typeof e.updateOnly}function Qx(t,e){return\"object\"===Qc(e)&&null!==e&&t===e.idProp&&\"function\"==typeof Fu(e)&&\"function\"==typeof e.get&&\"function\"==typeof e.getDataSet&&\"function\"==typeof e.getIds&&\"number\"==typeof e.length&&\"function\"==typeof gu(e)&&\"function\"==typeof e.off&&\"function\"==typeof e.on&&\"function\"==typeof e.stream&&Zx(t,e.getDataSet())}var Jx=Object.freeze({__proto__:null,DELETE:Iy,DataSet:Kx,DataStream:Gx,DataView:$x,Queue:Yx,createNewDataPipeFrom:function(t){return new Vx(t)},isDataSetLike:Zx,isDataViewLike:Qx}),tE=n,eE=o,iE=eo,nE=cp.trim,oE=g(\"\".charAt),rE=tE.parseFloat,sE=tE.Symbol,aE=sE&&sE.iterator,hE=1/rE(\"\\t\\n\\v\\f\\r                　\\u2028\\u2029\\ufeff-0\")!=-1/0||aE&&!eE((function(){rE(Object(aE))}))?function(t){var e=nE(iE(t)),i=rE(e);return 0===i&&\"-\"==oE(e,0)?-0:i}:rE;_i({global:!0,forced:parseFloat!=hE},{parseFloat:hE});var lE=X.parseFloat,dE=_i,cE=o,uE=hh.f;dE({target:\"Object\",stat:!0,forced:cE((function(){return!Object.getOwnPropertyNames(1)}))},{getOwnPropertyNames:uE});var fE=X.Object,pE=function(t){return fE.getOwnPropertyNames(t)},vE=pE;function gE(t,e){var i=[\"node\",\"edge\",\"label\"],n=!0,o=Mm(e,\"chosen\");if(\"boolean\"==typeof o)n=o;else if(\"object\"===Qc(o)){if(-1===Fp(i).call(i,t))throw new Error(\"choosify: subOption '\"+t+\"' should be one of '\"+i.join(\"', '\")+\"'\");var r=Mm(e,[\"chosen\",t]);\"boolean\"!=typeof r&&\"function\"!=typeof r||(n=r)}return n}function yE(t,e,i){if(t.width<=0||t.height<=0)return!1;if(void 0!==i){var n={x:e.x-i.x,y:e.y-i.y};if(0!==i.angle){var o=-i.angle;e={x:Math.cos(o)*n.x-Math.sin(o)*n.y,y:Math.sin(o)*n.x+Math.cos(o)*n.y}}else e=n}var r=t.x+t.width,s=t.y+t.width;return t.left<e.x&&r>e.x&&t.top<e.y&&s>e.y}function mE(t){return\"string\"==typeof t&&\"\"!==t}function bE(t,e,i,n){var o=n.x,r=n.y;if(\"function\"==typeof n.distanceToBorder){var s=n.distanceToBorder(t,e),a=Math.sin(e)*s,h=Math.cos(e)*s;h===s?(o+=s,r=n.y):a===s?(o=n.x,r-=s):(o+=h,r-=a)}else n.shape.width>n.shape.height?(o=n.x+.5*n.shape.width,r=n.y-i):(o=n.x+i,r=n.y-.5*n.shape.height);return{x:o,y:r}}var wE=function(){function t(e){Yd(this,t),this.measureText=e,this.current=0,this.width=0,this.height=0,this.lines=[]}return Kd(t,[{key:\"_add\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"normal\";void 0===this.lines[t]&&(this.lines[t]={width:0,height:0,blocks:[]});var n=e;void 0!==e&&\"\"!==e||(n=\" \");var o=this.measureText(n,i),r=un({},kx(o));r.text=e,r.width=o.width,r.mod=i,void 0!==e&&\"\"!==e||(r.width=0),this.lines[t].blocks.push(r),this.lines[t].width+=r.width}},{key:\"curWidth\",value:function(){var t=this.lines[this.current];return void 0===t?0:t.width}},{key:\"append\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"normal\";this._add(this.current,t,e)}},{key:\"newLine\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"normal\";this._add(this.current,t,e),this.current++}},{key:\"determineLineHeights\",value:function(){for(var t=0;t<this.lines.length;t++){var e=this.lines[t],i=0;if(void 0!==e.blocks)for(var n=0;n<e.blocks.length;n++){var o=e.blocks[n];i<o.height&&(i=o.height)}e.height=i}}},{key:\"determineLabelSize\",value:function(){for(var t=0,e=0,i=0;i<this.lines.length;i++){var n=this.lines[i];n.width>t&&(t=n.width),e+=n.height}this.width=t,this.height=e}},{key:\"removeEmptyBlocks\",value:function(){for(var t=[],e=0;e<this.lines.length;e++){var i=this.lines[e];if(0!==i.blocks.length&&(e!==this.lines.length-1||0!==i.width)){var n={};un(n,i),n.blocks=[];for(var o=void 0,r=[],s=0;s<i.blocks.length;s++){var a=i.blocks[s];0!==a.width?r.push(a):void 0===o&&(o=a)}0===r.length&&void 0!==o&&r.push(o),n.blocks=r,t.push(n)}}return t}},{key:\"finalize\",value:function(){this.determineLineHeights(),this.determineLabelSize();var t=this.removeEmptyBlocks();return{width:this.width,height:this.height,lines:t}}}]),t}(),kE={\"<b>\":/<b>/,\"<i>\":/<i>/,\"<code>\":/<code>/,\"</b>\":/<\\/b>/,\"</i>\":/<\\/i>/,\"</code>\":/<\\/code>/,\"*\":/\\*/,_:/_/,\"`\":/`/,afterBold:/[^*]/,afterItal:/[^_]/,afterMono:/[^`]/},_E=function(){function t(e){Yd(this,t),this.text=e,this.bold=!1,this.ital=!1,this.mono=!1,this.spacing=!1,this.position=0,this.buffer=\"\",this.modStack=[],this.blocks=[]}return Kd(t,[{key:\"mod\",value:function(){return 0===this.modStack.length?\"normal\":this.modStack[0]}},{key:\"modName\",value:function(){return 0===this.modStack.length?\"normal\":\"mono\"===this.modStack[0]?\"mono\":this.bold&&this.ital?\"boldital\":this.bold?\"bold\":this.ital?\"ital\":void 0}},{key:\"emitBlock\",value:function(){this.spacing&&(this.add(\" \"),this.spacing=!1),this.buffer.length>0&&(this.blocks.push({text:this.buffer,mod:this.modName()}),this.buffer=\"\")}},{key:\"add\",value:function(t){\" \"===t&&(this.spacing=!0),this.spacing&&(this.buffer+=\" \",this.spacing=!1),\" \"!=t&&(this.buffer+=t)}},{key:\"parseWS\",value:function(t){return!!/[ \\t]/.test(t)&&(this.mono?this.add(t):this.spacing=!0,!0)}},{key:\"setTag\",value:function(t){this.emitBlock(),this[t]=!0,this.modStack.unshift(t)}},{key:\"unsetTag\",value:function(t){this.emitBlock(),this[t]=!1,this.modStack.shift()}},{key:\"parseStartTag\",value:function(t,e){return!(this.mono||this[t]||!this.match(e))&&(this.setTag(t),!0)}},{key:\"match\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.prepareRegExp(t),n=Kc(i,2),o=n[0],r=n[1],s=o.test(this.text.substr(this.position,r));return s&&e&&(this.position+=r-1),s}},{key:\"parseEndTag\",value:function(t,e,i){var n=this.mod()===t;return!(!(n=\"mono\"===t?n&&this.mono:n&&!this.mono)||!this.match(e))&&(void 0!==i?(this.position===this.text.length-1||this.match(i,!1))&&this.unsetTag(t):this.unsetTag(t),!0)}},{key:\"replace\",value:function(t,e){return!!this.match(t)&&(this.add(e),this.position+=length-1,!0)}},{key:\"prepareRegExp\",value:function(t){var e,i;if(t instanceof RegExp)i=t,e=1;else{var n=kE[t];i=void 0!==n?n:new RegExp(t),e=t.length}return[i,e]}}]),t}(),xE=function(){function t(e,i,n,o){var r=this;Yd(this,t),this.ctx=e,this.parent=i,this.selected=n,this.hover=o;this.lines=new wE((function(t,i){if(void 0===t)return 0;var s=r.parent.getFormattingValues(e,n,o,i),a=0;\"\"!==t&&(a=r.ctx.measureText(t).width);return{width:a,values:s}}))}return Kd(t,[{key:\"process\",value:function(t){if(!mE(t))return this.lines.finalize();var e=this.parent.fontOptions;t=(t=t.replace(/\\r\\n/g,\"\\n\")).replace(/\\r/g,\"\\n\");var i=String(t).split(\"\\n\"),n=i.length;if(e.multi)for(var o=0;o<n;o++){var r=this.splitBlocks(i[o],e.multi);if(void 0!==r)if(0!==r.length){if(e.maxWdt>0)for(var s=0;s<r.length;s++){var a=r[s].mod,h=r[s].text;this.splitStringIntoLines(h,a,!0)}else for(var l=0;l<r.length;l++){var d=r[l].mod,c=r[l].text;this.lines.append(c,d)}this.lines.newLine()}else this.lines.newLine(\"\")}else if(e.maxWdt>0)for(var u=0;u<n;u++)this.splitStringIntoLines(i[u]);else for(var f=0;f<n;f++)this.lines.newLine(i[f]);return this.lines.finalize()}},{key:\"decodeMarkupSystem\",value:function(t){var e=\"none\";return\"markdown\"===t||\"md\"===t?e=\"markdown\":!0!==t&&\"html\"!==t||(e=\"html\"),e}},{key:\"splitHtmlBlocks\",value:function(t){for(var e=new _E(t),i=function(t){return!!/&/.test(t)&&(e.replace(e.text,\"&lt;\",\"<\")||e.replace(e.text,\"&amp;\",\"&\")||e.add(\"&\"),!0)};e.position<e.text.length;){var n=e.text.charAt(e.position);e.parseWS(n)||/</.test(n)&&(e.parseStartTag(\"bold\",\"<b>\")||e.parseStartTag(\"ital\",\"<i>\")||e.parseStartTag(\"mono\",\"<code>\")||e.parseEndTag(\"bold\",\"</b>\")||e.parseEndTag(\"ital\",\"</i>\")||e.parseEndTag(\"mono\",\"</code>\"))||i(n)||e.add(n),e.position++}return e.emitBlock(),e.blocks}},{key:\"splitMarkdownBlocks\",value:function(t){for(var e=this,i=new _E(t),n=!0,o=function(t){return!!/\\\\/.test(t)&&(i.position<e.text.length+1&&(i.position++,t=e.text.charAt(i.position),/ \\t/.test(t)?i.spacing=!0:(i.add(t),n=!1)),!0)};i.position<i.text.length;){var r=i.text.charAt(i.position);i.parseWS(r)||o(r)||(n||i.spacing)&&(i.parseStartTag(\"bold\",\"*\")||i.parseStartTag(\"ital\",\"_\")||i.parseStartTag(\"mono\",\"`\"))||i.parseEndTag(\"bold\",\"*\",\"afterBold\")||i.parseEndTag(\"ital\",\"_\",\"afterItal\")||i.parseEndTag(\"mono\",\"`\",\"afterMono\")||(i.add(r),n=!1),i.position++}return i.emitBlock(),i.blocks}},{key:\"splitBlocks\",value:function(t,e){var i=this.decodeMarkupSystem(e);return\"none\"===i?[{text:t,mod:\"normal\"}]:\"markdown\"===i?this.splitMarkdownBlocks(t):\"html\"===i?this.splitHtmlBlocks(t):void 0}},{key:\"overMaxWidth\",value:function(t){var e=this.ctx.measureText(t).width;return this.lines.curWidth()+e>this.parent.fontOptions.maxWdt}},{key:\"getLongestFit\",value:function(t){for(var e=\"\",i=0;i<t.length;){var n=e+(\"\"===e?\"\":\" \")+t[i];if(this.overMaxWidth(n))break;e=n,i++}return i}},{key:\"getLongestFitWord\",value:function(t){for(var e=0;e<t.length&&!this.overMaxWidth(au(t).call(t,0,e));)e++;return e}},{key:\"splitStringIntoLines\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"normal\",i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];this.parent.getFormattingValues(this.ctx,this.selected,this.hover,e);for(var n=(t=(t=t.replace(/^( +)/g,\"$1\\r\")).replace(/([^\\r][^ ]*)( +)/g,\"$1\\r$2\\r\")).split(\"\\r\");n.length>0;){var o=this.getLongestFit(n);if(0===o){var r=n[0],s=this.getLongestFitWord(r);this.lines.newLine(au(r).call(r,0,s),e),n[0]=au(r).call(r,s)}else{var a=o;\" \"===n[o-1]?o--:\" \"===n[a]&&a++;var h=au(n).call(n,0,o).join(\"\");o==n.length&&i?this.lines.append(h,e):this.lines.newLine(h,e),n=au(n).call(n,a)}}}}]),t}(),EE=[\"bold\",\"ital\",\"boldital\",\"mono\"],OE=function(){function t(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];Yd(this,t),this.body=e,this.pointToSelf=!1,this.baseSize=void 0,this.fontOptions={},this.setOptions(i),this.size={top:0,left:0,width:0,height:0,yLine:0},this.isEdgeLabel=n}return Kd(t,[{key:\"setOptions\",value:function(t){if(this.elementOptions=t,this.initFontOptions(t.font),mE(t.label)?this.labelDirty=!0:t.label=void 0,void 0!==t.font&&null!==t.font)if(\"string\"==typeof t.font)this.baseSize=this.fontOptions.size;else if(\"object\"===Qc(t.font)){var e=t.font.size;void 0!==e&&(this.baseSize=e)}}},{key:\"initFontOptions\",value:function(e){var i=this;hm(EE,(function(t){i.fontOptions[t]={}})),t.parseFontString(this.fontOptions,e)?this.fontOptions.vadjust=0:hm(e,(function(t,e){null!=t&&\"object\"!==Qc(t)&&(i.fontOptions[e]=t)}))}},{key:\"constrain\",value:function(t){var e={constrainWidth:!1,maxWdt:-1,minWdt:-1,constrainHeight:!1,minHgt:-1,valign:\"middle\"},i=Mm(t,\"widthConstraint\");if(\"number\"==typeof i)e.maxWdt=Number(i),e.minWdt=Number(i);else if(\"object\"===Qc(i)){var n=Mm(t,[\"widthConstraint\",\"maximum\"]);\"number\"==typeof n&&(e.maxWdt=Number(n));var o=Mm(t,[\"widthConstraint\",\"minimum\"]);\"number\"==typeof o&&(e.minWdt=Number(o))}var r=Mm(t,\"heightConstraint\");if(\"number\"==typeof r)e.minHgt=Number(r);else if(\"object\"===Qc(r)){var s=Mm(t,[\"heightConstraint\",\"minimum\"]);\"number\"==typeof s&&(e.minHgt=Number(s));var a=Mm(t,[\"heightConstraint\",\"valign\"]);\"string\"==typeof a&&(\"top\"!==a&&\"bottom\"!==a||(e.valign=a))}return e}},{key:\"update\",value:function(t,e){this.setOptions(t,!0),this.propagateFonts(e),nm(this.fontOptions,this.constrain(e)),this.fontOptions.chooser=gE(\"label\",e)}},{key:\"adjustSizes\",value:function(t){var e=t?t.right+t.left:0;this.fontOptions.constrainWidth&&(this.fontOptions.maxWdt-=e,this.fontOptions.minWdt-=e);var i=t?t.top+t.bottom:0;this.fontOptions.constrainHeight&&(this.fontOptions.minHgt-=i)}},{key:\"addFontOptionsToPile\",value:function(t,e){for(var i=0;i<e.length;++i)this.addFontToPile(t,e[i])}},{key:\"addFontToPile\",value:function(t,e){if(void 0!==e&&void 0!==e.font&&null!==e.font){var i=e.font;t.push(i)}}},{key:\"getBasicOptions\",value:function(e){for(var i={},n=0;n<e.length;++n){var o=e[n],r={};t.parseFontString(r,o)&&(o=r),hm(o,(function(t,e){void 0!==t&&(Object.prototype.hasOwnProperty.call(i,e)||(-1!==Fp(EE).call(EE,e)?i[e]={}:i[e]=t))}))}return i}},{key:\"getFontOption\",value:function(e,i,n){for(var o,r=0;r<e.length;++r){var s=e[r];if(Object.prototype.hasOwnProperty.call(s,i)){if(null==(o=s[i]))continue;var a={};if(t.parseFontString(a,o)&&(o=a),Object.prototype.hasOwnProperty.call(o,n))return o[n]}}if(Object.prototype.hasOwnProperty.call(this.fontOptions,n))return this.fontOptions[n];throw new Error(\"Did not find value for multi-font for property: '\"+n+\"'\")}},{key:\"getFontOptions\",value:function(t,e){for(var i={},n=[\"color\",\"size\",\"face\",\"mod\",\"vadjust\"],o=0;o<n.length;++o){var r=n[o];i[r]=this.getFontOption(t,e,r)}return i}},{key:\"propagateFonts\",value:function(t){var e=this,i=[];this.addFontOptionsToPile(i,t),this.fontOptions=this.getBasicOptions(i);for(var n=function(t){var n=EE[t],o=e.fontOptions[n];hm(e.getFontOptions(i,n),(function(t,e){o[e]=t})),o.size=Number(o.size),o.vadjust=Number(o.vadjust)},o=0;o<EE.length;++o)n(o)}},{key:\"draw\",value:function(t,e,i,n,o){var r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"middle\";if(void 0!==this.elementOptions.label){var s=this.fontOptions.size*this.body.view.scale;this.elementOptions.label&&s<this.elementOptions.scaling.label.drawThreshold-1||(s>=this.elementOptions.scaling.label.maxVisible&&(s=Number(this.elementOptions.scaling.label.maxVisible)/this.body.view.scale),this.calculateLabelSize(t,n,o,e,i,r),this._drawBackground(t),this._drawText(t,e,this.size.yLine,r,s))}}},{key:\"_drawBackground\",value:function(t){if(void 0!==this.fontOptions.background&&\"none\"!==this.fontOptions.background){t.fillStyle=this.fontOptions.background;var e=this.getSize();t.fillRect(e.left,e.top,e.width,e.height)}}},{key:\"_drawText\",value:function(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"middle\",o=arguments.length>4?arguments[4]:void 0,r=this._setAlignment(t,e,i,n),s=Kc(r,2);e=s[0],i=s[1],t.textAlign=\"left\",e-=this.size.width/2,this.fontOptions.valign&&this.size.height>this.size.labelHeight&&(\"top\"===this.fontOptions.valign&&(i-=(this.size.height-this.size.labelHeight)/2),\"bottom\"===this.fontOptions.valign&&(i+=(this.size.height-this.size.labelHeight)/2));for(var a=0;a<this.lineCount;a++){var h=this.lines[a];if(h&&h.blocks){var l=0;this.isEdgeLabel||\"center\"===this.fontOptions.align?l+=(this.size.width-h.width)/2:\"right\"===this.fontOptions.align&&(l+=this.size.width-h.width);for(var d=0;d<h.blocks.length;d++){var c=h.blocks[d];t.font=c.font;var u=this._getColor(c.color,o,c.strokeColor),f=Kc(u,2),p=f[0],v=f[1];c.strokeWidth>0&&(t.lineWidth=c.strokeWidth,t.strokeStyle=v,t.lineJoin=\"round\"),t.fillStyle=p,c.strokeWidth>0&&t.strokeText(c.text,e+l,i+c.vadjust),t.fillText(c.text,e+l,i+c.vadjust),l+=c.width}i+=h.height}}}},{key:\"_setAlignment\",value:function(t,e,i,n){if(this.isEdgeLabel&&\"horizontal\"!==this.fontOptions.align&&!1===this.pointToSelf){e=0,i=0;\"top\"===this.fontOptions.align?(t.textBaseline=\"alphabetic\",i-=4):\"bottom\"===this.fontOptions.align?(t.textBaseline=\"hanging\",i+=4):t.textBaseline=\"middle\"}else t.textBaseline=n;return[e,i]}},{key:\"_getColor\",value:function(t,e,i){var n=t||\"#000000\",o=i||\"#ffffff\";if(e<=this.elementOptions.scaling.label.drawThreshold){var r=Math.max(0,Math.min(1,1-(this.elementOptions.scaling.label.drawThreshold-e)));n=pm(n,r),o=pm(o,r)}return[n,o]}},{key:\"getTextSize\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return this._processLabel(t,e,i),{width:this.size.width,height:this.size.height,lineCount:this.lineCount}}},{key:\"getSize\",value:function(){var t=this.size.left,e=this.size.top-1;if(this.isEdgeLabel){var i=.5*-this.size.width;switch(this.fontOptions.align){case\"middle\":t=i,e=.5*-this.size.height;break;case\"top\":t=i,e=-(this.size.height+2);break;case\"bottom\":t=i,e=2}}return{left:t,top:e,width:this.size.width,height:this.size.height}}},{key:\"calculateLabelSize\",value:function(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0,r=arguments.length>5&&void 0!==arguments[5]?arguments[5]:\"middle\";this._processLabel(t,e,i),this.size.left=n-.5*this.size.width,this.size.top=o-.5*this.size.height,this.size.yLine=o+.5*(1-this.lineCount)*this.fontOptions.size,\"hanging\"===r&&(this.size.top+=.5*this.fontOptions.size,this.size.top+=4,this.size.yLine+=4)}},{key:\"getFormattingValues\",value:function(t,e,i,n){var o=function(t,e,i){return\"normal\"===e?\"mod\"===i?\"\":t[i]:void 0!==t[e][i]?t[e][i]:t[i]},r={color:o(this.fontOptions,n,\"color\"),size:o(this.fontOptions,n,\"size\"),face:o(this.fontOptions,n,\"face\"),mod:o(this.fontOptions,n,\"mod\"),vadjust:o(this.fontOptions,n,\"vadjust\"),strokeWidth:this.fontOptions.strokeWidth,strokeColor:this.fontOptions.strokeColor};(e||i)&&(\"normal\"===n&&!0===this.fontOptions.chooser&&this.elementOptions.labelHighlightBold?r.mod=\"bold\":\"function\"==typeof this.fontOptions.chooser&&this.fontOptions.chooser(r,this.elementOptions.id,e,i));var s=\"\";return void 0!==r.mod&&\"\"!==r.mod&&(s+=r.mod+\" \"),s+=r.size+\"px \"+r.face,t.font=s.replace(/\"/g,\"\"),r.font=t.font,r.height=r.size,r}},{key:\"differentState\",value:function(t,e){return t!==this.selectedState||e!==this.hoverState}},{key:\"_processLabelText\",value:function(t,e,i,n){return new xE(t,this,e,i).process(n)}},{key:\"_processLabel\",value:function(t,e,i){if(!1!==this.labelDirty||this.differentState(e,i)){var n=this._processLabelText(t,e,i,this.elementOptions.label);this.fontOptions.minWdt>0&&n.width<this.fontOptions.minWdt&&(n.width=this.fontOptions.minWdt),this.size.labelHeight=n.height,this.fontOptions.minHgt>0&&n.height<this.fontOptions.minHgt&&(n.height=this.fontOptions.minHgt),this.lines=n.lines,this.lineCount=n.lines.length,this.size.width=n.width,this.size.height=n.height,this.selectedState=e,this.hoverState=i,this.labelDirty=!1}}},{key:\"visible\",value:function(){return 0!==this.size.width&&0!==this.size.height&&void 0!==this.elementOptions.label&&!(this.fontOptions.size*this.body.view.scale<this.elementOptions.scaling.label.drawThreshold-1)}}],[{key:\"parseFontString\",value:function(t,e){if(!e||\"string\"!=typeof e)return!1;var i=e.split(\" \");return t.size=+i[0].replace(\"px\",\"\"),t.face=i[1],t.color=i[2],!0}}]),t}(),CE=function(){function t(e,i,n){Yd(this,t),this.body=i,this.labelModule=n,this.setOptions(e),this.top=void 0,this.left=void 0,this.height=void 0,this.width=void 0,this.radius=void 0,this.margin=void 0,this.refreshNeeded=!0,this.boundingBox={top:0,left:0,right:0,bottom:0}}return Kd(t,[{key:\"setOptions\",value:function(t){this.options=t}},{key:\"_setMargins\",value:function(t){this.margin={},this.options.margin&&(\"object\"==Qc(this.options.margin)?(this.margin.top=this.options.margin.top,this.margin.right=this.options.margin.right,this.margin.bottom=this.options.margin.bottom,this.margin.left=this.options.margin.left):(this.margin.top=this.options.margin,this.margin.right=this.options.margin,this.margin.bottom=this.options.margin,this.margin.left=this.options.margin)),t.adjustSizes(this.margin)}},{key:\"_distanceToBorder\",value:function(t,e){var i=this.options.borderWidth;return t&&this.resize(t),Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}},{key:\"enableShadow\",value:function(t,e){e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:\"disableShadow\",value:function(t,e){e.shadow&&(t.shadowColor=\"rgba(0,0,0,0)\",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:\"enableBorderDashes\",value:function(t,e){if(!1!==e.borderDashes)if(void 0!==t.setLineDash){var i=e.borderDashes;!0===i&&(i=[5,15]),t.setLineDash(i)}else console.warn(\"setLineDash is not supported in this browser. The dashed borders cannot be used.\"),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1}},{key:\"disableBorderDashes\",value:function(t,e){!1!==e.borderDashes&&(void 0!==t.setLineDash?t.setLineDash([0]):(console.warn(\"setLineDash is not supported in this browser. The dashed borders cannot be used.\"),this.options.shapeProperties.borderDashes=!1,e.borderDashes=!1))}},{key:\"needsRefresh\",value:function(t,e){return!0===this.refreshNeeded?(this.refreshNeeded=!1,!0):void 0===this.width||this.labelModule.differentState(t,e)}},{key:\"initContextForDraw\",value:function(t,e){var i=e.borderWidth/this.body.view.scale;t.lineWidth=Math.min(this.width,i),t.strokeStyle=e.borderColor,t.fillStyle=e.color}},{key:\"performStroke\",value:function(t,e){var i=e.borderWidth/this.body.view.scale;t.save(),i>0&&(this.enableBorderDashes(t,e),t.stroke(),this.disableBorderDashes(t,e)),t.restore()}},{key:\"performFill\",value:function(t,e){t.save(),t.fillStyle=e.color,this.enableShadow(t,e),jv(t).call(t),this.disableShadow(t,e),t.restore(),this.performStroke(t,e)}},{key:\"_addBoundingBoxMargin\",value:function(t){this.boundingBox.left-=t,this.boundingBox.top-=t,this.boundingBox.bottom+=t,this.boundingBox.right+=t}},{key:\"_updateBoundingBox\",value:function(t,e,i,n,o){void 0!==i&&this.resize(i,n,o),this.left=t-this.width/2,this.top=e-this.height/2,this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width}},{key:\"updateBoundingBox\",value:function(t,e,i,n,o){this._updateBoundingBox(t,e,i,n,o)}},{key:\"getDimensionsFromLabel\",value:function(t,e,i){this.textSize=this.labelModule.getTextSize(t,e,i);var n=this.textSize.width,o=this.textSize.height;return 0===n&&(n=14,o=14),{width:n,height:o}}}]),t}();function SE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var TE=function(t){zk(i,t);var e=SE(i);function i(t,n,o){var r;return Yd(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return Kd(i,[{key:\"resize\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i);this.width=n.width+this.margin.right+this.margin.left,this.height=n.height+this.margin.top+this.margin.bottom,this.radius=this.width/2}}},{key:\"draw\",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,r),Fn(t,this.left,this.top,this.width,this.height,r.borderRadius),this.performFill(t,r),this.updateBoundingBox(e,i,t,n,o),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,n,o)}},{key:\"updateBoundingBox\",value:function(t,e,i,n,o){this._updateBoundingBox(t,e,i,n,o);var r=this.options.shapeProperties.borderRadius;this._addBoundingBoxMargin(r)}},{key:\"distanceToBorder\",value:function(t,e){t&&this.resize(t);var i=this.options.borderWidth;return Math.min(Math.abs(this.width/2/Math.cos(e)),Math.abs(this.height/2/Math.sin(e)))+i}}]),i}(CE);function ME(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var PE=function(t){zk(i,t);var e=ME(i);function i(t,n,o){var r;return Yd(this,i),(r=e.call(this,t,n,o)).labelOffset=0,r.selected=!1,r}return Kd(i,[{key:\"setOptions\",value:function(t,e,i){this.options=t,void 0===e&&void 0===i||this.setImages(e,i)}},{key:\"setImages\",value:function(t,e){e&&this.selected?(this.imageObj=e,this.imageObjAlt=t):(this.imageObj=t,this.imageObjAlt=e)}},{key:\"switchImages\",value:function(t){var e=t&&!this.selected||!t&&this.selected;if(this.selected=t,void 0!==this.imageObjAlt&&e){var i=this.imageObj;this.imageObj=this.imageObjAlt,this.imageObjAlt=i}}},{key:\"_getImagePadding\",value:function(){var t={top:0,right:0,bottom:0,left:0};if(this.options.imagePadding){var e=this.options.imagePadding;\"object\"==Qc(e)?(t.top=e.top,t.right=e.right,t.bottom=e.bottom,t.left=e.left):(t.top=e,t.right=e,t.bottom=e,t.left=e)}return t}},{key:\"_resizeImage\",value:function(){var t,e;if(!1===this.options.shapeProperties.useImageSize){var i=1,n=1;this.imageObj.width&&this.imageObj.height&&(this.imageObj.width>this.imageObj.height?i=this.imageObj.width/this.imageObj.height:n=this.imageObj.height/this.imageObj.width),t=2*this.options.size*i,e=2*this.options.size*n}else{var o=this._getImagePadding();t=this.imageObj.width+o.left+o.right,e=this.imageObj.height+o.top+o.bottom}this.width=t,this.height=e,this.radius=.5*this.width}},{key:\"_drawRawCircle\",value:function(t,e,i,n){this.initContextForDraw(t,n),Nn(t,e,i,n.size),this.performFill(t,n)}},{key:\"_drawImageAtPosition\",value:function(t,e){if(0!=this.imageObj.width){t.globalAlpha=void 0!==e.opacity?e.opacity:1,this.enableShadow(t,e);var i=1;!0===this.options.shapeProperties.interpolation&&(i=this.imageObj.width/this.width/this.body.view.scale);var n=this._getImagePadding(),o=this.left+n.left,r=this.top+n.top,s=this.width-n.left-n.right,a=this.height-n.top-n.bottom;this.imageObj.drawImageAtPosition(t,i,o,r,s,a),this.disableShadow(t,e)}}},{key:\"_drawImageLabel\",value:function(t,e,i,n,o){var r=0;if(void 0!==this.height){r=.5*this.height;var s=this.labelModule.getTextSize(t,n,o);s.lineCount>=1&&(r+=s.height/2)}var a=i+r;this.options.label&&(this.labelOffset=r),this.labelModule.draw(t,e,a,n,o,\"hanging\")}}]),i}(CE);function DE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var IE=function(t){zk(i,t);var e=DE(i);function i(t,n,o){var r;return Yd(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return Kd(i,[{key:\"resize\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i),o=Math.max(n.width+this.margin.right+this.margin.left,n.height+this.margin.top+this.margin.bottom);this.options.size=o/2,this.width=o,this.height=o,this.radius=this.width/2}}},{key:\"draw\",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this._drawRawCircle(t,e,i,r),this.updateBoundingBox(e,i),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,i,n,o)}},{key:\"updateBoundingBox\",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size}},{key:\"distanceToBorder\",value:function(t){return t&&this.resize(t),.5*this.width}}]),i}(PE);function BE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var zE=function(t){zk(i,t);var e=BE(i);function i(t,n,o,r,s){var a;return Yd(this,i),(a=e.call(this,t,n,o)).setImages(r,s),a}return Kd(i,[{key:\"resize\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,n=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(n){var o=2*this.options.size;return this.width=o,this.height=o,void(this.radius=.5*this.width)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:\"draw\",value:function(t,e,i,n,o,r){this.switchImages(n),this.resize();var s=e,a=i;\"top-left\"===this.options.shapeProperties.coordinateOrigin?(this.left=e,this.top=i,s+=this.width/2,a+=this.height/2):(this.left=e-this.width/2,this.top=i-this.height/2),this._drawRawCircle(t,s,a,r),t.save(),t.clip(),this._drawImageAtPosition(t,r),t.restore(),this._drawImageLabel(t,s,a,n,o),this.updateBoundingBox(e,i)}},{key:\"updateBoundingBox\",value:function(t,e){\"top-left\"===this.options.shapeProperties.coordinateOrigin?(this.boundingBox.top=e,this.boundingBox.left=t,this.boundingBox.right=t+2*this.options.size,this.boundingBox.bottom=e+2*this.options.size):(this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size),this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset)}},{key:\"distanceToBorder\",value:function(t){return t&&this.resize(t),.5*this.width}}]),i}(PE);function NE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var FE=function(t){zk(i,t);var e=NE(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"resize\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{size:this.options.size};if(this.needsRefresh(e,i)){var o,r;this.labelModule.getTextSize(t,e,i);var s=2*n.size;this.width=null!==(o=this.customSizeWidth)&&void 0!==o?o:s,this.height=null!==(r=this.customSizeHeight)&&void 0!==r?r:s,this.radius=.5*this.width}}},{key:\"_drawShape\",value:function(t,e,i,n,o,r,s,a){var h,l=this;return this.resize(t,r,s,a),this.left=n-this.width/2,this.top=o-this.height/2,this.initContextForDraw(t,a),(h=e,Object.prototype.hasOwnProperty.call(Ln,h)?Ln[h]:function(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),n=1;n<e;n++)i[n-1]=arguments[n];CanvasRenderingContext2D.prototype[h].call(t,i)})(t,n,o,a.size),this.performFill(t,a),void 0!==this.options.icon&&void 0!==this.options.icon.code&&(t.font=(r?\"bold \":\"\")+this.height/2+\"px \"+(this.options.icon.face||\"FontAwesome\"),t.fillStyle=this.options.icon.color||\"black\",t.textAlign=\"center\",t.textBaseline=\"middle\",t.fillText(this.options.icon.code,n,o)),{drawExternalLabel:function(){if(void 0!==l.options.label){l.labelModule.calculateLabelSize(t,r,s,n,o,\"hanging\");var e=o+.5*l.height+.5*l.labelModule.size.height;l.labelModule.draw(t,n,e,r,s,\"hanging\")}l.updateBoundingBox(n,o)}}}},{key:\"updateBoundingBox\",value:function(t,e){this.boundingBox.top=e-this.options.size,this.boundingBox.left=t-this.options.size,this.boundingBox.right=t+this.options.size,this.boundingBox.bottom=e+this.options.size,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height))}}]),i}(CE);function AE(t,e){var i=bu(t);if(hd){var n=hd(t);e&&(n=Xf(n).call(n,(function(e){return bd(t,e).enumerable}))),i.push.apply(i,n)}return i}function jE(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Fu(i=AE(Object(o),!0)).call(i,(function(e){$d(t,e,o[e])})):Pd?Ad(t,Pd(o)):Fu(n=AE(Object(o))).call(n,(function(e){Ud(t,e,bd(o,e))}))}return t}function RE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var LE=function(t){zk(i,t);var e=RE(i);function i(t,n,o,r){var s;return Yd(this,i),(s=e.call(this,t,n,o,r)).ctxRenderer=r,s}return Kd(i,[{key:\"draw\",value:function(t,e,i,n,o,r){this.resize(t,n,o,r),this.left=e-this.width/2,this.top=i-this.height/2,t.save();var s=this.ctxRenderer({ctx:t,id:this.options.id,x:e,y:i,state:{selected:n,hover:o},style:jE({},r),label:this.options.label});if(null!=s.drawNode&&s.drawNode(),t.restore(),s.drawExternalLabel){var a=s.drawExternalLabel;s.drawExternalLabel=function(){t.save(),a(),t.restore()}}return s.nodeDimensions&&(this.customSizeWidth=s.nodeDimensions.width,this.customSizeHeight=s.nodeDimensions.height),s}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(FE);function HE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var WE=function(t){zk(i,t);var e=HE(i);function i(t,n,o){var r;return Yd(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return Kd(i,[{key:\"resize\",value:function(t,e,i){if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i).width+this.margin.right+this.margin.left;this.width=n,this.height=n,this.radius=this.width/2}}},{key:\"draw\",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this.initContextForDraw(t,r),jn(t,e-this.width/2,i-this.height/2,this.width,this.height),this.performFill(t,r),this.updateBoundingBox(e,i,t,n,o),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,n,o)}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(CE);function qE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var VE=function(t){zk(i,t);var e=qE(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"draw\",value:function(t,e,i,n,o,r){return this._drawShape(t,\"diamond\",4,e,i,n,o,r)}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(FE);function UE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var YE=function(t){zk(i,t);var e=UE(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"draw\",value:function(t,e,i,n,o,r){return this._drawShape(t,\"circle\",2,e,i,n,o,r)}},{key:\"distanceToBorder\",value:function(t){return t&&this.resize(t),this.options.size}}]),i}(FE);function XE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var GE=function(t){zk(i,t);var e=XE(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"resize\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover;if(this.needsRefresh(e,i)){var n=this.getDimensionsFromLabel(t,e,i);this.height=2*n.height,this.width=n.width+n.height,this.radius=.5*this.width}}},{key:\"draw\",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-.5*this.width,this.top=i-.5*this.height,this.initContextForDraw(t,r),An(t,this.left,this.top,this.width,this.height),this.performFill(t,r),this.updateBoundingBox(e,i,t,n,o),this.labelModule.draw(t,e,i,n,o)}},{key:\"distanceToBorder\",value:function(t,e){t&&this.resize(t);var i=.5*this.width,n=.5*this.height,o=Math.sin(e)*i,r=Math.cos(e)*n;return i*n/Math.sqrt(o*o+r*r)}}]),i}(CE);function KE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var $E=function(t){zk(i,t);var e=KE(i);function i(t,n,o){var r;return Yd(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return Kd(i,[{key:\"resize\",value:function(t,e,i){this.needsRefresh(e,i)&&(this.iconSize={width:Number(this.options.icon.size),height:Number(this.options.icon.size)},this.width=this.iconSize.width+this.margin.right+this.margin.left,this.height=this.iconSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:\"draw\",value:function(t,e,i,n,o,r){var s=this;return this.resize(t,n,o),this.options.icon.size=this.options.icon.size||50,this.left=e-this.width/2,this.top=i-this.height/2,this._icon(t,e,i,n,o,r),{drawExternalLabel:function(){if(void 0!==s.options.label){s.labelModule.draw(t,s.left+s.iconSize.width/2+s.margin.left,i+s.height/2+5,n)}s.updateBoundingBox(e,i)}}}},{key:\"updateBoundingBox\",value:function(t,e){if(this.boundingBox.top=e-.5*this.options.icon.size,this.boundingBox.left=t-.5*this.options.icon.size,this.boundingBox.right=t+.5*this.options.icon.size,this.boundingBox.bottom=e+.5*this.options.icon.size,void 0!==this.options.label&&this.labelModule.size.width>0){this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelModule.size.height+5)}}},{key:\"_icon\",value:function(t,e,i,n,o,r){var s=Number(this.options.icon.size);void 0!==this.options.icon.code?(t.font=[null!=this.options.icon.weight?this.options.icon.weight:n?\"bold\":\"\",(null!=this.options.icon.weight&&n?5:0)+s+\"px\",this.options.icon.face].join(\" \"),t.fillStyle=this.options.icon.color||\"black\",t.textAlign=\"center\",t.textBaseline=\"middle\",this.enableShadow(t,r),t.fillText(this.options.icon.code,e,i),this.disableShadow(t,r)):console.error(\"When using the icon shape, you need to define the code in the icon options object. This can be done per node or globally.\")}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(CE);function ZE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var QE=function(t){zk(i,t);var e=ZE(i);function i(t,n,o,r,s){var a;return Yd(this,i),(a=e.call(this,t,n,o)).setImages(r,s),a}return Kd(i,[{key:\"resize\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.selected,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this.hover,n=void 0===this.imageObj.src||void 0===this.imageObj.width||void 0===this.imageObj.height;if(n){var o=2*this.options.size;return this.width=o,void(this.height=o)}this.needsRefresh(e,i)&&this._resizeImage()}},{key:\"draw\",value:function(t,e,i,n,o,r){t.save(),this.switchImages(n),this.resize();var s=e,a=i;if(\"top-left\"===this.options.shapeProperties.coordinateOrigin?(this.left=e,this.top=i,s+=this.width/2,a+=this.height/2):(this.left=e-this.width/2,this.top=i-this.height/2),!0===this.options.shapeProperties.useBorderWithImage){var h=this.options.borderWidth,l=this.options.borderWidthSelected||2*this.options.borderWidth,d=(n?l:h)/this.body.view.scale;t.lineWidth=Math.min(this.width,d),t.beginPath();var c=n?this.options.color.highlight.border:o?this.options.color.hover.border:this.options.color.border,u=n?this.options.color.highlight.background:o?this.options.color.hover.background:this.options.color.background;void 0!==r.opacity&&(c=pm(c,r.opacity),u=pm(u,r.opacity)),t.strokeStyle=c,t.fillStyle=u,t.rect(this.left-.5*t.lineWidth,this.top-.5*t.lineWidth,this.width+t.lineWidth,this.height+t.lineWidth),jv(t).call(t),this.performStroke(t,r),t.closePath()}this._drawImageAtPosition(t,r),this._drawImageLabel(t,s,a,n,o),this.updateBoundingBox(e,i),t.restore()}},{key:\"updateBoundingBox\",value:function(t,e){this.resize(),\"top-left\"===this.options.shapeProperties.coordinateOrigin?(this.left=t,this.top=e):(this.left=t-this.width/2,this.top=e-this.height/2),this.boundingBox.left=this.left,this.boundingBox.top=this.top,this.boundingBox.bottom=this.top+this.height,this.boundingBox.right=this.left+this.width,void 0!==this.options.label&&this.labelModule.size.width>0&&(this.boundingBox.left=Math.min(this.boundingBox.left,this.labelModule.size.left),this.boundingBox.right=Math.max(this.boundingBox.right,this.labelModule.size.left+this.labelModule.size.width),this.boundingBox.bottom=Math.max(this.boundingBox.bottom,this.boundingBox.bottom+this.labelOffset))}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(PE);function JE(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var tO=function(t){zk(i,t);var e=JE(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"draw\",value:function(t,e,i,n,o,r){return this._drawShape(t,\"square\",2,e,i,n,o,r)}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(FE);function eO(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var iO=function(t){zk(i,t);var e=eO(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"draw\",value:function(t,e,i,n,o,r){return this._drawShape(t,\"hexagon\",4,e,i,n,o,r)}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(FE);function nO(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var oO=function(t){zk(i,t);var e=nO(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"draw\",value:function(t,e,i,n,o,r){return this._drawShape(t,\"star\",4,e,i,n,o,r)}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(FE);function rO(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var sO=function(t){zk(i,t);var e=rO(i);function i(t,n,o){var r;return Yd(this,i),(r=e.call(this,t,n,o))._setMargins(o),r}return Kd(i,[{key:\"resize\",value:function(t,e,i){this.needsRefresh(e,i)&&(this.textSize=this.labelModule.getTextSize(t,e,i),this.width=this.textSize.width+this.margin.right+this.margin.left,this.height=this.textSize.height+this.margin.top+this.margin.bottom,this.radius=.5*this.width)}},{key:\"draw\",value:function(t,e,i,n,o,r){this.resize(t,n,o),this.left=e-this.width/2,this.top=i-this.height/2,this.enableShadow(t,r),this.labelModule.draw(t,this.left+this.textSize.width/2+this.margin.left,this.top+this.textSize.height/2+this.margin.top,n,o),this.disableShadow(t,r),this.updateBoundingBox(e,i,t,n,o)}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(CE);function aO(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var hO=function(t){zk(i,t);var e=aO(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"draw\",value:function(t,e,i,n,o,r){return this._drawShape(t,\"triangle\",3,e,i,n,o,r)}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(FE);function lO(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var dO=function(t){zk(i,t);var e=lO(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"draw\",value:function(t,e,i,n,o,r){return this._drawShape(t,\"triangleDown\",3,e,i,n,o,r)}},{key:\"distanceToBorder\",value:function(t,e){return this._distanceToBorder(t,e)}}]),i}(FE);function cO(t,e){var i=bu(t);if(hd){var n=hd(t);e&&(n=Xf(n).call(n,(function(e){return bd(t,e).enumerable}))),i.push.apply(i,n)}return i}function uO(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Fu(i=cO(Object(o),!0)).call(i,(function(e){$d(t,e,o[e])})):Pd?Ad(t,Pd(o)):Fu(n=cO(Object(o))).call(n,(function(e){Ud(t,e,bd(o,e))}))}return t}var fO=function(){function t(e,i,n,o,r,s){Yd(this,t),this.options=Cm(r),this.globalOptions=r,this.defaultOptions=s,this.body=i,this.edges=[],this.id=void 0,this.imagelist=n,this.grouplist=o,this.x=void 0,this.y=void 0,this.baseSize=this.options.size,this.baseFontSize=this.options.font.size,this.predefinedPosition=!1,this.selected=!1,this.hover=!1,this.labelModule=new OE(this.body,this.options,!1),this.setOptions(e)}return Kd(t,[{key:\"attachEdge\",value:function(t){var e;-1===Fp(e=this.edges).call(e,t)&&this.edges.push(t)}},{key:\"detachEdge\",value:function(t){var e,i,n=Fp(e=this.edges).call(e,t);-1!=n&&ff(i=this.edges).call(i,n,1)}},{key:\"setOptions\",value:function(e){var i=this.options.shape;if(e){if(void 0!==e.color&&(this._localColor=e.color),void 0!==e.id&&(this.id=e.id),void 0===this.id)throw new Error(\"Node must have an id\");t.checkMass(e,this.id),void 0!==e.x&&(null===e.x?(this.x=void 0,this.predefinedPosition=!1):(this.x=Ep(e.x),this.predefinedPosition=!0)),void 0!==e.y&&(null===e.y?(this.y=void 0,this.predefinedPosition=!1):(this.y=Ep(e.y),this.predefinedPosition=!0)),void 0!==e.size&&(this.baseSize=e.size),void 0!==e.value&&(e.value=lE(e.value)),t.parseOptions(this.options,e,!0,this.globalOptions,this.grouplist);var n=[e,this.options,this.defaultOptions];return this.chooser=gE(\"node\",n),this._load_images(),this.updateLabelModule(e),void 0!==e.opacity&&t.checkOpacity(e.opacity)&&(this.options.opacity=e.opacity),this.updateShape(i),void 0!==e.hidden||void 0!==e.physics}}},{key:\"_load_images\",value:function(){if((\"circularImage\"===this.options.shape||\"image\"===this.options.shape)&&void 0===this.options.image)throw new Error(\"Option image must be defined for node type '\"+this.options.shape+\"'\");if(void 0!==this.options.image){if(void 0===this.imagelist)throw new Error(\"Internal Error: No images provided\");if(\"string\"==typeof this.options.image)this.imageObj=this.imagelist.load(this.options.image,this.options.brokenImage,this.id);else{if(void 0===this.options.image.unselected)throw new Error(\"No unselected image provided\");this.imageObj=this.imagelist.load(this.options.image.unselected,this.options.brokenImage,this.id),void 0!==this.options.image.selected?this.imageObjAlt=this.imagelist.load(this.options.image.selected,this.options.brokenImage,this.id):this.imageObjAlt=void 0}}}},{key:\"getFormattingValues\",value:function(){var t={color:this.options.color.background,opacity:this.options.opacity,borderWidth:this.options.borderWidth,borderColor:this.options.color.border,size:this.options.size,borderDashes:this.options.shapeProperties.borderDashes,borderRadius:this.options.shapeProperties.borderRadius,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y};if(this.selected||this.hover?!0===this.chooser?this.selected?(null!=this.options.borderWidthSelected?t.borderWidth=this.options.borderWidthSelected:t.borderWidth*=2,t.color=this.options.color.highlight.background,t.borderColor=this.options.color.highlight.border,t.shadow=this.options.shadow.enabled):this.hover&&(t.color=this.options.color.hover.background,t.borderColor=this.options.color.hover.border,t.shadow=this.options.shadow.enabled):\"function\"==typeof this.chooser&&(this.chooser(t,this.options.id,this.selected,this.hover),!1===t.shadow&&(t.shadowColor===this.options.shadow.color&&t.shadowSize===this.options.shadow.size&&t.shadowX===this.options.shadow.x&&t.shadowY===this.options.shadow.y||(t.shadow=!0))):t.shadow=this.options.shadow.enabled,void 0!==this.options.opacity){var e=this.options.opacity;t.borderColor=pm(t.borderColor,e),t.color=pm(t.color,e),t.shadowColor=pm(t.shadowColor,e)}return t}},{key:\"updateLabelModule\",value:function(e){void 0!==this.options.label&&null!==this.options.label||(this.options.label=\"\"),t.updateGroupOptions(this.options,uO(uO({},e),{},{color:e&&e.color||this._localColor||void 0}),this.grouplist);var i=this.grouplist.get(this.options.group,!1),n=[e,this.options,i,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,n),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:\"updateShape\",value:function(t){if(t===this.options.shape&&this.shape)this.shape.setOptions(this.options,this.imageObj,this.imageObjAlt);else switch(this.options.shape){case\"box\":this.shape=new TE(this.options,this.body,this.labelModule);break;case\"circle\":this.shape=new IE(this.options,this.body,this.labelModule);break;case\"circularImage\":this.shape=new zE(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case\"custom\":this.shape=new LE(this.options,this.body,this.labelModule,this.options.ctxRenderer);break;case\"database\":this.shape=new WE(this.options,this.body,this.labelModule);break;case\"diamond\":this.shape=new VE(this.options,this.body,this.labelModule);break;case\"dot\":this.shape=new YE(this.options,this.body,this.labelModule);break;case\"ellipse\":default:this.shape=new GE(this.options,this.body,this.labelModule);break;case\"icon\":this.shape=new $E(this.options,this.body,this.labelModule);break;case\"image\":this.shape=new QE(this.options,this.body,this.labelModule,this.imageObj,this.imageObjAlt);break;case\"square\":this.shape=new tO(this.options,this.body,this.labelModule);break;case\"hexagon\":this.shape=new iO(this.options,this.body,this.labelModule);break;case\"star\":this.shape=new oO(this.options,this.body,this.labelModule);break;case\"text\":this.shape=new sO(this.options,this.body,this.labelModule);break;case\"triangle\":this.shape=new hO(this.options,this.body,this.labelModule);break;case\"triangleDown\":this.shape=new dO(this.options,this.body,this.labelModule)}this.needsRefresh()}},{key:\"select\",value:function(){this.selected=!0,this.needsRefresh()}},{key:\"unselect\",value:function(){this.selected=!1,this.needsRefresh()}},{key:\"needsRefresh\",value:function(){this.shape.refreshNeeded=!0}},{key:\"getTitle\",value:function(){return this.options.title}},{key:\"distanceToBorder\",value:function(t,e){return this.shape.distanceToBorder(t,e)}},{key:\"isFixed\",value:function(){return this.options.fixed.x&&this.options.fixed.y}},{key:\"isSelected\",value:function(){return this.selected}},{key:\"getValue\",value:function(){return this.options.value}},{key:\"getLabelSize\",value:function(){return this.labelModule.size()}},{key:\"setValueRange\",value:function(t,e,i){if(void 0!==this.options.value){var n=this.options.scaling.customScalingFunction(t,e,i,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var r=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+n*r}this.options.size=this.options.scaling.min+n*o}else this.options.size=this.baseSize,this.options.font.size=this.baseFontSize;this.updateLabelModule()}},{key:\"draw\",value:function(t){var e=this.getFormattingValues();return this.shape.draw(t,this.x,this.y,this.selected,this.hover,e)||{}}},{key:\"updateBoundingBox\",value:function(t){this.shape.updateBoundingBox(this.x,this.y,t)}},{key:\"resize\",value:function(t){var e=this.getFormattingValues();this.shape.resize(t,this.selected,this.hover,e)}},{key:\"getItemsOnPoint\",value:function(t){var e=[];return this.labelModule.visible()&&yE(this.labelModule.getSize(),t)&&e.push({nodeId:this.id,labelId:0}),yE(this.shape.boundingBox,t)&&e.push({nodeId:this.id}),e}},{key:\"isOverlappingWith\",value:function(t){return this.shape.left<t.right&&this.shape.left+this.shape.width>t.left&&this.shape.top<t.bottom&&this.shape.top+this.shape.height>t.top}},{key:\"isBoundingBoxOverlappingWith\",value:function(t){return this.shape.boundingBox.left<t.right&&this.shape.boundingBox.right>t.left&&this.shape.boundingBox.top<t.bottom&&this.shape.boundingBox.bottom>t.top}}],[{key:\"checkOpacity\",value:function(t){return 0<=t&&t<=1}},{key:\"checkCoordinateOrigin\",value:function(t){return void 0===t||\"center\"===t||\"top-left\"===t}},{key:\"updateGroupOptions\",value:function(e,i,n){var o;if(void 0!==n){var r=e.group;if(void 0!==i&&void 0!==i.group&&r!==i.group)throw new Error(\"updateGroupOptions: group values in options don't match.\");if(\"number\"==typeof r||\"string\"==typeof r&&\"\"!=r){var s=n.get(r);void 0!==s.opacity&&void 0===i.opacity&&(t.checkOpacity(s.opacity)||(console.error(\"Invalid option for node opacity. Value must be between 0 and 1, found: \"+s.opacity),s.opacity=void 0));var a=Xf(o=vE(i)).call(o,(function(t){return null!=i[t]}));a.push(\"font\"),im(a,e,s),e.color=gm(e.color)}}}},{key:\"parseOptions\",value:function(e,i){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=arguments.length>4?arguments[4]:void 0,s=[\"color\",\"fixed\",\"shadow\"];if(im(s,e,i,n),t.checkMass(i),void 0!==e.opacity&&(t.checkOpacity(e.opacity)||(console.error(\"Invalid option for node opacity. Value must be between 0 and 1, found: \"+e.opacity),e.opacity=void 0)),void 0!==i.opacity&&(t.checkOpacity(i.opacity)||(console.error(\"Invalid option for node opacity. Value must be between 0 and 1, found: \"+i.opacity),i.opacity=void 0)),i.shapeProperties&&!t.checkCoordinateOrigin(i.shapeProperties.coordinateOrigin)&&console.error(\"Invalid option for node coordinateOrigin, found: \"+i.shapeProperties.coordinateOrigin),Sm(e,i,\"shadow\",o),void 0!==i.color&&null!==i.color){var a=gm(i.color);Jy(e.color,a)}else!0===n&&null===i.color&&(e.color=Cm(o.color));void 0!==i.fixed&&null!==i.fixed&&(\"boolean\"==typeof i.fixed?(e.fixed.x=i.fixed,e.fixed.y=i.fixed):(void 0!==i.fixed.x&&\"boolean\"==typeof i.fixed.x&&(e.fixed.x=i.fixed.x),void 0!==i.fixed.y&&\"boolean\"==typeof i.fixed.y&&(e.fixed.y=i.fixed.y))),!0===n&&null===i.font&&(e.font=Cm(o.font)),t.updateGroupOptions(e,i,r),void 0!==i.scaling&&Sm(e.scaling,i.scaling,\"label\",o.scaling)}},{key:\"checkMass\",value:function(t,e){if(void 0!==t.mass&&t.mass<=0){var i=\"\";void 0!==e&&(i=\" in node id: \"+e),console.error(\"%cNegative or zero mass disallowed\"+i+\", setting mass to 1.\",Vm),t.mass=1}}}]),t}();function pO(t,e){var i=void 0!==tu&&ih(t)||t[\"@@iterator\"];if(!i){if(lu(t)||(i=function(t,e){var i;if(!t)return;if(\"string\"==typeof t)return vO(t,e);var n=au(i=Object.prototype.toString.call(t)).call(i,8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return ja(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return vO(t,e)}(t))||e&&t&&\"number\"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function vO(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var gO=function(){function t(e,i,n,o){var r,s=this;if(Yd(this,t),this.body=e,this.images=i,this.groups=n,this.layoutEngine=o,this.body.functions.createNode=zn(r=this.create).call(r,this),this.nodesListeners={add:function(t,e){s.add(e.items)},update:function(t,e){s.update(e.items,e.data,e.oldData)},remove:function(t,e){s.remove(e.items)}},this.defaultOptions={borderWidth:1,borderWidthSelected:void 0,brokenImage:void 0,color:{border:\"#2B7CE9\",background:\"#97C2FC\",highlight:{border:\"#2B7CE9\",background:\"#D2E5FF\"},hover:{border:\"#2B7CE9\",background:\"#D2E5FF\"}},opacity:void 0,fixed:{x:!1,y:!1},font:{color:\"#343434\",size:14,face:\"arial\",background:\"none\",strokeWidth:0,strokeColor:\"#ffffff\",align:\"center\",vadjust:0,multi:!1,bold:{mod:\"bold\"},boldital:{mod:\"bold italic\"},ital:{mod:\"italic\"},mono:{mod:\"\",size:15,face:\"monospace\",vadjust:2}},group:void 0,hidden:!1,icon:{face:\"FontAwesome\",code:void 0,size:50,color:\"#2B7CE9\"},image:void 0,imagePadding:{top:0,right:0,bottom:0,left:0},label:void 0,labelHighlightBold:!0,level:void 0,margin:{top:5,right:5,bottom:5,left:5},mass:1,physics:!0,scaling:{min:10,max:30,label:{enabled:!1,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,n){if(e===t)return.5;var o=1/(e-t);return Math.max(0,(n-t)*o)}},shadow:{enabled:!1,color:\"rgba(0,0,0,0.5)\",size:10,x:5,y:5},shape:\"ellipse\",shapeProperties:{borderDashes:!1,borderRadius:6,interpolation:!0,useImageSize:!1,useBorderWithImage:!1,coordinateOrigin:\"center\"},size:25,title:void 0,value:void 0,x:void 0,y:void 0},this.defaultOptions.mass<=0)throw\"Internal error: mass in defaultOptions of NodesHandler may not be zero or negative\";this.options=Cm(this.defaultOptions),this.bindEventListeners()}return Kd(t,[{key:\"bindEventListeners\",value:function(){var t,e,i=this;this.body.emitter.on(\"refreshNodes\",zn(t=this.refresh).call(t,this)),this.body.emitter.on(\"refresh\",zn(e=this.refresh).call(e,this)),this.body.emitter.on(\"destroy\",(function(){hm(i.nodesListeners,(function(t,e){i.body.data.nodes&&i.body.data.nodes.off(e,t)})),delete i.body.functions.createNode,delete i.nodesListeners.add,delete i.nodesListeners.update,delete i.nodesListeners.remove,delete i.nodesListeners}))}},{key:\"setOptions\",value:function(t){if(void 0!==t){if(fO.parseOptions(this.options,t),void 0!==t.opacity&&(ek(t.opacity)||!ok(t.opacity)||t.opacity<0||t.opacity>1?console.error(\"Invalid option for node opacity. Value must be between 0 and 1, found: \"+t.opacity):this.options.opacity=t.opacity),void 0!==t.shape)for(var e in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&this.body.nodes[e].updateShape();if(void 0!==t.font||void 0!==t.widthConstraint||void 0!==t.heightConstraint)for(var i=0,n=bu(this.body.nodes);i<n.length;i++){var o=n[i];this.body.nodes[o].updateLabelModule(),this.body.nodes[o].needsRefresh()}if(void 0!==t.size)for(var r in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,r)&&this.body.nodes[r].needsRefresh();void 0===t.hidden&&void 0===t.physics||this.body.emitter.emit(\"_dataChanged\")}}},{key:\"setData\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.data.nodes;if(Qx(\"id\",t))this.body.data.nodes=t;else if(lu(t))this.body.data.nodes=new Kx,this.body.data.nodes.add(t);else{if(t)throw new TypeError(\"Array or DataSet expected\");this.body.data.nodes=new Kx}if(i&&hm(this.nodesListeners,(function(t,e){i.off(e,t)})),this.body.nodes={},this.body.data.nodes){var n=this;hm(this.nodesListeners,(function(t,e){n.body.data.nodes.on(e,t)}));var o=this.body.data.nodes.getIds();this.add(o,!0)}!1===e&&this.body.emitter.emit(\"_dataChanged\")}},{key:\"add\",value:function(t){for(var e,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[],o=0;o<t.length;o++){e=t[o];var r=this.body.data.nodes.get(e),s=this.create(r);n.push(s),this.body.nodes[e]=s}this.layoutEngine.positionInitially(n),!1===i&&this.body.emitter.emit(\"_dataChanged\")}},{key:\"update\",value:function(t,e,i){for(var n=this.body.nodes,o=!1,r=0;r<t.length;r++){var s=t[r],a=n[s],h=e[r];void 0!==a?a.setOptions(h)&&(o=!0):(o=!0,a=this.create(h),n[s]=a)}o||void 0===i||(o=ck(e).call(e,(function(t,e){var n=i[e];return n&&n.level!==t.level}))),!0===o?this.body.emitter.emit(\"_dataChanged\"):this.body.emitter.emit(\"_dataUpdated\")}},{key:\"remove\",value:function(t){for(var e=this.body.nodes,i=0;i<t.length;i++){delete e[t[i]]}this.body.emitter.emit(\"_dataChanged\")}},{key:\"create\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:fO;return new e(t,this.body,this.images,this.groups,this.options,this.defaultOptions)}},{key:\"refresh\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];hm(this.body.nodes,(function(i,n){var o=t.body.data.nodes.get(n);void 0!==o&&(!0===e&&i.setOptions({x:null,y:null}),i.setOptions({fixed:!1}),i.setOptions(o))}))}},{key:\"getPositions\",value:function(t){var e={};if(void 0!==t){if(!0===lu(t)){for(var i=0;i<t.length;i++)if(void 0!==this.body.nodes[t[i]]){var n=this.body.nodes[t[i]];e[t[i]]={x:Math.round(n.x),y:Math.round(n.y)}}}else if(void 0!==this.body.nodes[t]){var o=this.body.nodes[t];e[t]={x:Math.round(o.x),y:Math.round(o.y)}}}else for(var r=0;r<this.body.nodeIndices.length;r++){var s=this.body.nodes[this.body.nodeIndices[r]];e[this.body.nodeIndices[r]]={x:Math.round(s.x),y:Math.round(s.y)}}return e}},{key:\"getPosition\",value:function(t){if(null==t)throw new TypeError(\"No id was specified for getPosition method.\");if(null==this.body.nodes[t])throw new ReferenceError(\"NodeId provided for getPosition does not exist. Provided: \".concat(t));return{x:Math.round(this.body.nodes[t].x),y:Math.round(this.body.nodes[t].y)}}},{key:\"storePositions\",value:function(){var t,e=[],i=this.body.data.nodes.getDataSet(),n=pO(i.get());try{for(n.s();!(t=n.n()).done;){var o=t.value,r=o.id,s=this.body.nodes[r],a=Math.round(s.x),h=Math.round(s.y);o.x===a&&o.y===h||e.push({id:r,x:a,y:h})}}catch(t){n.e(t)}finally{n.f()}i.update(e)}},{key:\"getBoundingBox\",value:function(t){if(void 0!==this.body.nodes[t])return this.body.nodes[t].shape.boundingBox}},{key:\"getConnectedNodes\",value:function(t,e){var i=[];if(void 0!==this.body.nodes[t])for(var n=this.body.nodes[t],o={},r=0;r<n.edges.length;r++){var s=n.edges[r];\"to\"!==e&&s.toId==n.id?void 0===o[s.fromId]&&(i.push(s.fromId),o[s.fromId]=!0):\"from\"!==e&&s.fromId==n.id&&void 0===o[s.toId]&&(i.push(s.toId),o[s.toId]=!0)}return i}},{key:\"getConnectedEdges\",value:function(t){var e=[];if(void 0!==this.body.nodes[t])for(var i=this.body.nodes[t],n=0;n<i.edges.length;n++)e.push(i.edges[n].id);else console.error(\"NodeId provided for getConnectedEdges does not exist. Provided: \",t);return e}},{key:\"moveNode\",value:function(t,e,i){var n=this;void 0!==this.body.nodes[t]?(this.body.nodes[t].x=Number(e),this.body.nodes[t].y=Number(i),Sv((function(){n.body.emitter.emit(\"startSimulation\")}),0)):console.error(\"Node id supplied to moveNode does not exist. Provided: \",t)}}]),t}(),yO=Wt,mO=_,bO=Y,wO=$e,kO=function(t){return void 0!==t&&(yO(t,\"value\")||yO(t,\"writable\"))},_O=m,xO=Pr;_i({target:\"Reflect\",stat:!0},{get:function t(e,i){var n,o,r=arguments.length<3?e:arguments[2];return wO(e)===r?e[i]:(n=_O.f(e,i))?kO(n)?n.value:void 0===n.get?void 0:mO(n.get,r):bO(o=xO(e))?t(o,i,r):void 0}});var EO=X.Reflect.get,OO=md;function CO(t,e){for(;!Object.prototype.hasOwnProperty.call(t,e)&&null!==(t=Ak(t)););return t}function SO(){return SO=\"undefined\"!=typeof Reflect&&EO?EO:function(t,e,i){var n=CO(t,e);if(n){var o=OO(n,e);return o.get?o.get.call(arguments.length<3?t:i):o.value}},SO.apply(this,arguments)}var TO=_i,MO=Math.hypot,PO=Math.abs,DO=Math.sqrt;TO({target:\"Math\",stat:!0,forced:!!MO&&MO(1/0,NaN)!==1/0},{hypot:function(t,e){for(var i,n,o=0,r=0,s=arguments.length,a=0;r<s;)a<(i=PO(arguments[r++]))?(o=o*(n=a/i)*n+1,a=i):o+=i>0?(n=i/a)*n:i;return a===1/0?1/0:a*DO(o)}});var IO=X.Math.hypot;function BO(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var zO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"transform\",value:function(t,e){lu(t)||(t=[t]);for(var i=e.point.x,n=e.point.y,o=e.angle,r=e.length,s=0;s<t.length;++s){var a=t[s],h=a.x*Math.cos(o)-a.y*Math.sin(o),l=a.x*Math.sin(o)+a.y*Math.cos(o);a.x=i+r*h,a.y=n+r*l}}},{key:\"drawPath\",value:function(t,e){t.beginPath(),t.moveTo(e[0].x,e[0].y);for(var i=1;i<e.length;++i)t.lineTo(e[i].x,e[i].y);t.closePath()}}]),t}(),NO=function(t){zk(i,t);var e=BO(i);function i(){return Yd(this,i),e.apply(this,arguments)}return Kd(i,null,[{key:\"draw\",value:function(t,e){if(e.image){t.save(),t.translate(e.point.x,e.point.y),t.rotate(Math.PI/2+e.angle);var i=null!=e.imageWidth?e.imageWidth:e.image.width,n=null!=e.imageHeight?e.imageHeight:e.image.height;e.image.drawImageAtPosition(t,1,-i/2,0,i,n),t.restore()}return!1}}]),i}(zO),FO=function(t){zk(i,t);var e=BO(i);function i(){return Yd(this,i),e.apply(this,arguments)}return Kd(i,null,[{key:\"draw\",value:function(t,e){var i=[{x:0,y:0},{x:-1,y:.3},{x:-.9,y:0},{x:-1,y:-.3}];return zO.transform(i,e),zO.drawPath(t,i),!0}}]),i}(zO),AO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i=[{x:-1,y:0},{x:0,y:.3},{x:-.4,y:0},{x:0,y:-.3}];return zO.transform(i,e),zO.drawPath(t,i),!0}}]),t}(),jO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i={x:-.4,y:0};zO.transform(i,e),t.strokeStyle=t.fillStyle,t.fillStyle=\"rgba(0, 0, 0, 0)\";var n=Math.PI,o=e.angle-n/2,r=e.angle+n/2;return t.beginPath(),t.arc(i.x,i.y,.4*e.length,o,r,!1),t.stroke(),!0}}]),t}(),RO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i={x:-.3,y:0};zO.transform(i,e),t.strokeStyle=t.fillStyle,t.fillStyle=\"rgba(0, 0, 0, 0)\";var n=Math.PI,o=e.angle+n/2,r=e.angle+3*n/2;return t.beginPath(),t.arc(i.x,i.y,.4*e.length,o,r,!1),t.stroke(),!0}}]),t}(),LO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i=[{x:.02,y:0},{x:-1,y:.3},{x:-1,y:-.3}];return zO.transform(i,e),zO.drawPath(t,i),!0}}]),t}(),HO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i=[{x:0,y:.3},{x:0,y:-.3},{x:-1,y:0}];return zO.transform(i,e),zO.drawPath(t,i),!0}}]),t}(),WO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i={x:-.4,y:0};return zO.transform(i,e),Nn(t,i.x,i.y,.4*e.length),!0}}]),t}(),qO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i=[{x:0,y:.5},{x:0,y:-.5},{x:-.15,y:-.5},{x:-.15,y:.5}];return zO.transform(i,e),zO.drawPath(t,i),!0}}]),t}(),VO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i=[{x:0,y:.3},{x:0,y:-.3},{x:-.6,y:-.3},{x:-.6,y:.3}];return zO.transform(i,e),zO.drawPath(t,i),!0}}]),t}(),UO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i=[{x:0,y:0},{x:-.5,y:-.3},{x:-1,y:0},{x:-.5,y:.3}];return zO.transform(i,e),zO.drawPath(t,i),!0}}]),t}(),YO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i=[{x:-1,y:.3},{x:-.5,y:0},{x:-1,y:-.3},{x:0,y:0}];return zO.transform(i,e),zO.drawPath(t,i),!0}}]),t}(),XO=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"draw\",value:function(t,e){var i;switch(e.type&&(i=e.type.toLowerCase()),i){case\"image\":return NO.draw(t,e);case\"circle\":return WO.draw(t,e);case\"box\":return VO.draw(t,e);case\"crow\":return AO.draw(t,e);case\"curve\":return jO.draw(t,e);case\"diamond\":return UO.draw(t,e);case\"inv_curve\":return RO.draw(t,e);case\"triangle\":return LO.draw(t,e);case\"inv_triangle\":return HO.draw(t,e);case\"bar\":return qO.draw(t,e);case\"vee\":return YO.draw(t,e);default:return FO.draw(t,e)}}}]),t}();function GO(t,e){var i=bu(t);if(hd){var n=hd(t);e&&(n=Xf(n).call(n,(function(e){return bd(t,e).enumerable}))),i.push.apply(i,n)}return i}function KO(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Fu(i=GO(Object(o),!0)).call(i,(function(e){$d(t,e,o[e])})):Pd?Ad(t,Pd(o)):Fu(n=GO(Object(o))).call(n,(function(e){Ud(t,e,bd(o,e))}))}return t}var $O=function(){function t(e,i,n){Yd(this,t),this._body=i,this._labelModule=n,this.color={},this.colorDirty=!0,this.hoverWidth=1.5,this.selectionWidth=2,this.setOptions(e),this.fromPoint=this.from,this.toPoint=this.to}return Kd(t,[{key:\"connect\",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to]}},{key:\"cleanup\",value:function(){return!1}},{key:\"setOptions\",value:function(t){this.options=t,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.id=this.options.id}},{key:\"drawLine\",value:function(t,e,i,n){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:this.getViaNode();t.strokeStyle=this.getColor(t,e),t.lineWidth=e.width,!1!==e.dashes?this._drawDashedLine(t,e,o):this._drawLine(t,e,o)}},{key:\"_drawLine\",value:function(t,e,i,n,o){if(this.from!=this.to)this._line(t,e,i,n,o);else{var r=Kc(this._getCircleData(t),3),s=r[0],a=r[1],h=r[2];this._circle(t,e,s,a,h)}}},{key:\"_drawDashedLine\",value:function(t,e,i,n,o){t.lineCap=\"round\";var r=lu(e.dashes)?e.dashes:[5,5];if(void 0!==t.setLineDash){if(t.save(),t.setLineDash(r),t.lineDashOffset=0,this.from!=this.to)this._line(t,e,i);else{var s=Kc(this._getCircleData(t),3),a=s[0],h=s[1],l=s[2];this._circle(t,e,a,h,l)}t.setLineDash([0]),t.lineDashOffset=0,t.restore()}else{if(this.from!=this.to)Rn(t,this.from.x,this.from.y,this.to.x,this.to.y,r);else{var d=Kc(this._getCircleData(t),3),c=d[0],u=d[1],f=d[2];this._circle(t,e,c,u,f)}this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}}},{key:\"findBorderPosition\",value:function(t,e,i){return this.from!=this.to?this._findBorderPosition(t,e,i):this._findBorderPositionCircle(t,e,i)}},{key:\"findBorderPositions\",value:function(t){if(this.from!=this.to)return{from:this._findBorderPosition(this.from,t),to:this._findBorderPosition(this.to,t)};var e,i=Kc(au(e=this._getCircleData(t)).call(e,0,2),2),n=i[0],o=i[1];return{from:this._findBorderPositionCircle(this.from,t,{x:n,y:o,low:.25,high:.6,direction:-1}),to:this._findBorderPositionCircle(this.from,t,{x:n,y:o,low:.6,high:.8,direction:1})}}},{key:\"_getCircleData\",value:function(t){var e=this.options.selfReference.size;void 0!==t&&void 0===this.from.shape.width&&this.from.shape.resize(t);var i=bE(t,this.options.selfReference.angle,e,this.from);return[i.x,i.y,e]}},{key:\"_pointOnCircle\",value:function(t,e,i,n){var o=2*n*Math.PI;return{x:t+i*Math.cos(o),y:e-i*Math.sin(o)}}},{key:\"_findBorderPositionCircle\",value:function(t,e,i){var n,o=i.x,r=i.y,s=i.low,a=i.high,h=i.direction,l=this.options.selfReference.size,d=.5*(s+a),c=0;!0===this.options.arrowStrikethrough&&(-1===h?c=this.options.endPointOffset.from:1===h&&(c=this.options.endPointOffset.to));var u=0;do{d=.5*(s+a),n=this._pointOnCircle(o,r,l,d);var f=Math.atan2(t.y-n.y,t.x-n.x),p=t.distanceToBorder(e,f)+c-Math.sqrt(Math.pow(n.x-t.x,2)+Math.pow(n.y-t.y,2));if(Math.abs(p)<.05)break;p>0?h>0?s=d:a=d:h>0?a=d:s=d,++u}while(s<=a&&u<10);return KO(KO({},n),{},{t:d})}},{key:\"getLineWidth\",value:function(t,e){return!0===t?Math.max(this.selectionWidth,.3/this._body.view.scale):!0===e?Math.max(this.hoverWidth,.3/this._body.view.scale):Math.max(this.options.width,.3/this._body.view.scale)}},{key:\"getColor\",value:function(t,e){if(!1!==e.inheritsColor){if(\"both\"===e.inheritsColor&&this.from.id!==this.to.id){var i=t.createLinearGradient(this.from.x,this.from.y,this.to.x,this.to.y),n=this.from.options.color.highlight.border,o=this.to.options.color.highlight.border;return!1===this.from.selected&&!1===this.to.selected?(n=pm(this.from.options.color.border,e.opacity),o=pm(this.to.options.color.border,e.opacity)):!0===this.from.selected&&!1===this.to.selected?o=this.to.options.color.border:!1===this.from.selected&&!0===this.to.selected&&(n=this.from.options.color.border),i.addColorStop(0,n),i.addColorStop(1,o),i}return\"to\"===e.inheritsColor?pm(this.to.options.color.border,e.opacity):pm(this.from.options.color.border,e.opacity)}return pm(e.color,e.opacity)}},{key:\"_circle\",value:function(t,e,i,n,o){this.enableShadow(t,e);var r=0,s=2*Math.PI;if(!this.options.selfReference.renderBehindTheNode){var a=this.options.selfReference.angle,h=this.options.selfReference.angle+Math.PI,l=this._findBorderPositionCircle(this.from,t,{x:i,y:n,low:a,high:h,direction:-1}),d=this._findBorderPositionCircle(this.from,t,{x:i,y:n,low:a,high:h,direction:1});r=Math.atan2(l.y-n,l.x-i),s=Math.atan2(d.y-n,d.x-i)}t.beginPath(),t.arc(i,n,o,r,s,!1),t.stroke(),this.disableShadow(t,e)}},{key:\"getDistanceToEdge\",value:function(t,e,i,n,o,r){if(this.from!=this.to)return this._getDistanceToEdge(t,e,i,n,o,r);var s=Kc(this._getCircleData(void 0),3),a=s[0],h=s[1],l=s[2],d=a-o,c=h-r;return Math.abs(Math.sqrt(d*d+c*c)-l)}},{key:\"_getDistanceToLine\",value:function(t,e,i,n,o,r){var s=i-t,a=n-e,h=((o-t)*s+(r-e)*a)/(s*s+a*a);h>1?h=1:h<0&&(h=0);var l=t+h*s-o,d=e+h*a-r;return Math.sqrt(l*l+d*d)}},{key:\"getArrowData\",value:function(t,e,i,n,o,r){var s,a,h,l,d,c,u,f=r.width;\"from\"===e?(h=this.from,l=this.to,d=r.fromArrowScale<0,c=Math.abs(r.fromArrowScale),u=r.fromArrowType):\"to\"===e?(h=this.to,l=this.from,d=r.toArrowScale<0,c=Math.abs(r.toArrowScale),u=r.toArrowType):(h=this.to,l=this.from,d=r.middleArrowScale<0,c=Math.abs(r.middleArrowScale),u=r.middleArrowType);var p=15*c+3*f;if(h!=l){var v=p/IO(h.x-l.x,h.y-l.y);if(\"middle\"!==e)if(!0===this.options.smooth.enabled){var g=this._findBorderPosition(h,t,{via:i}),y=this.getPoint(g.t+v*(\"from\"===e?1:-1),i);s=Math.atan2(g.y-y.y,g.x-y.x),a=g}else s=Math.atan2(h.y-l.y,h.x-l.x),a=this._findBorderPosition(h,t);else{var m=(d?-v:v)/2,b=this.getPoint(.5+m,i),w=this.getPoint(.5-m,i);s=Math.atan2(b.y-w.y,b.x-w.x),a=this.getPoint(.5,i)}}else{var k=Kc(this._getCircleData(t),3),_=k[0],x=k[1],E=k[2];if(\"from\"===e){var O=this.options.selfReference.angle,C=this.options.selfReference.angle+Math.PI,S=this._findBorderPositionCircle(this.from,t,{x:_,y:x,low:O,high:C,direction:-1});s=-2*S.t*Math.PI+1.5*Math.PI+.1*Math.PI,a=S}else if(\"to\"===e){var T=this.options.selfReference.angle,M=this.options.selfReference.angle+Math.PI,P=this._findBorderPositionCircle(this.from,t,{x:_,y:x,low:T,high:M,direction:1});s=-2*P.t*Math.PI+1.5*Math.PI-1.1*Math.PI,a=P}else{var D=this.options.selfReference.angle/(2*Math.PI);a=this._pointOnCircle(_,x,E,D),s=-2*D*Math.PI+1.5*Math.PI+.1*Math.PI}}return{point:a,core:{x:a.x-.9*p*Math.cos(s),y:a.y-.9*p*Math.sin(s)},angle:s,length:p,type:u}}},{key:\"drawArrowHead\",value:function(t,e,i,n,o){t.strokeStyle=this.getColor(t,e),t.fillStyle=t.strokeStyle,t.lineWidth=e.width,XO.draw(t,o)&&(this.enableShadow(t,e),jv(t).call(t),this.disableShadow(t,e))}},{key:\"enableShadow\",value:function(t,e){!0===e.shadow&&(t.shadowColor=e.shadowColor,t.shadowBlur=e.shadowSize,t.shadowOffsetX=e.shadowX,t.shadowOffsetY=e.shadowY)}},{key:\"disableShadow\",value:function(t,e){!0===e.shadow&&(t.shadowColor=\"rgba(0,0,0,0)\",t.shadowBlur=0,t.shadowOffsetX=0,t.shadowOffsetY=0)}},{key:\"drawBackground\",value:function(t,e){if(!1!==e.background){var i={strokeStyle:t.strokeStyle,lineWidth:t.lineWidth,dashes:t.dashes};t.strokeStyle=e.backgroundColor,t.lineWidth=e.backgroundSize,this.setStrokeDashed(t,e.backgroundDashes),t.stroke(),t.strokeStyle=i.strokeStyle,t.lineWidth=i.lineWidth,t.dashes=i.dashes,this.setStrokeDashed(t,e.dashes)}}},{key:\"setStrokeDashed\",value:function(t,e){if(!1!==e)if(void 0!==t.setLineDash){var i=lu(e)?e:[5,5];t.setLineDash(i)}else console.warn(\"setLineDash is not supported in this browser. The dashed stroke cannot be used.\");else void 0!==t.setLineDash?t.setLineDash([]):console.warn(\"setLineDash is not supported in this browser. The dashed stroke cannot be used.\")}}]),t}();function ZO(t,e){var i=bu(t);if(hd){var n=hd(t);e&&(n=Xf(n).call(n,(function(e){return bd(t,e).enumerable}))),i.push.apply(i,n)}return i}function QO(t){for(var e=1;e<arguments.length;e++){var i,n,o=null!=arguments[e]?arguments[e]:{};e%2?Fu(i=ZO(Object(o),!0)).call(i,(function(e){$d(t,e,o[e])})):Pd?Ad(t,Pd(o)):Fu(n=ZO(Object(o))).call(n,(function(e){Ud(t,e,bd(o,e))}))}return t}function JO(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var tC=function(t){zk(i,t);var e=JO(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"_findBorderPositionBezier\",value:function(t,e){var i,n,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:this._getViaCoordinates(),r=10,s=.2,a=!1,h=1,l=0,d=this.to,c=this.options.endPointOffset?this.options.endPointOffset.to:0;t.id===this.from.id&&(d=this.from,a=!0,c=this.options.endPointOffset?this.options.endPointOffset.from:0),!1===this.options.arrowStrikethrough&&(c=0);var u=0;do{n=.5*(l+h),i=this.getPoint(n,o);var f=Math.atan2(d.y-i.y,d.x-i.x),p=d.distanceToBorder(e,f)+c,v=Math.sqrt(Math.pow(i.x-d.x,2)+Math.pow(i.y-d.y,2)),g=p-v;if(Math.abs(g)<s)break;g<0?!1===a?l=n:h=n:!1===a?h=n:l=n,++u}while(l<=h&&u<r);return QO(QO({},i),{},{t:n})}},{key:\"_getDistanceToBezierEdge\",value:function(t,e,i,n,o,r,s){var a,h,l,d,c,u=1e9,f=t,p=e;for(h=1;h<10;h++)l=.1*h,d=Math.pow(1-l,2)*t+2*l*(1-l)*s.x+Math.pow(l,2)*i,c=Math.pow(1-l,2)*e+2*l*(1-l)*s.y+Math.pow(l,2)*n,h>0&&(u=(a=this._getDistanceToLine(f,p,d,c,o,r))<u?a:u),f=d,p=c;return u}},{key:\"_bezierCurve\",value:function(t,e,i,n){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),null!=i&&null!=i.x?null!=n&&null!=n.x?t.bezierCurveTo(i.x,i.y,n.x,n.y,this.toPoint.x,this.toPoint.y):t.quadraticCurveTo(i.x,i.y,this.toPoint.x,this.toPoint.y):t.lineTo(this.toPoint.x,this.toPoint.y),this.drawBackground(t,e),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:\"getViaNode\",value:function(){return this._getViaCoordinates()}}]),i}($O);function eC(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var iC=function(t){zk(i,t);var e=eC(i);function i(t,n,o){var r;return Yd(this,i),(r=e.call(this,t,n,o)).via=r.via,r._boundFunction=function(){r.positionBezierNode()},r._body.emitter.on(\"_repositionBezierNodes\",r._boundFunction),r}return Kd(i,[{key:\"setOptions\",value:function(t){SO(Ak(i.prototype),\"setOptions\",this).call(this,t);var e=!1;this.options.physics!==t.physics&&(e=!0),this.options=t,this.id=this.options.id,this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],this.setupSupportNode(),this.connect(),!0===e&&(this.via.setOptions({physics:this.options.physics}),this.positionBezierNode())}},{key:\"connect\",value:function(){this.from=this._body.nodes[this.options.from],this.to=this._body.nodes[this.options.to],void 0===this.from||void 0===this.to||!1===this.options.physics||this.from.id===this.to.id?this.via.setOptions({physics:!1}):this.via.setOptions({physics:!0})}},{key:\"cleanup\",value:function(){return this._body.emitter.off(\"_repositionBezierNodes\",this._boundFunction),void 0!==this.via&&(delete this._body.nodes[this.via.id],this.via=void 0,!0)}},{key:\"setupSupportNode\",value:function(){if(void 0===this.via){var t=\"edgeId:\"+this.id,e=this._body.functions.createNode({id:t,shape:\"circle\",physics:!0,hidden:!0});this._body.nodes[t]=e,this.via=e,this.via.parentEdgeId=this.id,this.positionBezierNode()}}},{key:\"positionBezierNode\",value:function(){void 0!==this.via&&void 0!==this.from&&void 0!==this.to?(this.via.x=.5*(this.from.x+this.to.x),this.via.y=.5*(this.from.y+this.to.y)):void 0!==this.via&&(this.via.x=0,this.via.y=0)}},{key:\"_line\",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:\"_getViaCoordinates\",value:function(){return this.via}},{key:\"getViaNode\",value:function(){return this.via}},{key:\"getPoint\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.via;if(this.from===this.to){var i=this._getCircleData(),n=Kc(i,3),o=n[0],r=n[1],s=n[2],a=2*Math.PI*(1-t);return{x:o+s*Math.sin(a),y:r+s-s*(1-Math.cos(a))}}return{x:Math.pow(1-t,2)*this.fromPoint.x+2*t*(1-t)*e.x+Math.pow(t,2)*this.toPoint.x,y:Math.pow(1-t,2)*this.fromPoint.y+2*t*(1-t)*e.y+Math.pow(t,2)*this.toPoint.y}}},{key:\"_findBorderPosition\",value:function(t,e){return this._findBorderPositionBezier(t,e,this.via)}},{key:\"_getDistanceToEdge\",value:function(t,e,i,n,o,r){return this._getDistanceToBezierEdge(t,e,i,n,o,r,this.via)}}]),i}(tC);function nC(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var oC=function(t){zk(i,t);var e=nC(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"_line\",value:function(t,e,i){this._bezierCurve(t,e,i)}},{key:\"getViaNode\",value:function(){return this._getViaCoordinates()}},{key:\"_getViaCoordinates\",value:function(){var t,e,i=this.options.smooth.roundness,n=this.options.smooth.type,o=Math.abs(this.from.x-this.to.x),r=Math.abs(this.from.y-this.to.y);if(\"discrete\"===n||\"diagonalCross\"===n){var s,a;s=a=o<=r?i*r:i*o,this.from.x>this.to.x&&(s=-s),this.from.y>=this.to.y&&(a=-a);var h=this.from.x+s,l=this.from.y+a;return\"discrete\"===n&&(o<=r?h=o<i*r?this.from.x:h:l=r<i*o?this.from.y:l),{x:h,y:l}}if(\"straightCross\"===n){var d=(1-i)*o,c=(1-i)*r;return o<=r?(d=0,this.from.y<this.to.y&&(c=-c)):(this.from.x<this.to.x&&(d=-d),c=0),{x:this.to.x+d,y:this.to.y+c}}if(\"horizontal\"===n){var u=(1-i)*o;return this.from.x<this.to.x&&(u=-u),{x:this.to.x+u,y:this.from.y}}if(\"vertical\"===n){var f=(1-i)*r;return this.from.y<this.to.y&&(f=-f),{x:this.from.x,y:this.to.y+f}}if(\"curvedCW\"===n){o=this.to.x-this.from.x,r=this.from.y-this.to.y;var p=Math.sqrt(o*o+r*r),v=Math.PI,g=(Math.atan2(r,o)+(.5*i+.5)*v)%(2*v);return{x:this.from.x+(.5*i+.5)*p*Math.sin(g),y:this.from.y+(.5*i+.5)*p*Math.cos(g)}}if(\"curvedCCW\"===n){o=this.to.x-this.from.x,r=this.from.y-this.to.y;var y=Math.sqrt(o*o+r*r),m=Math.PI,b=(Math.atan2(r,o)+(.5*-i+.5)*m)%(2*m);return{x:this.from.x+(.5*i+.5)*y*Math.sin(b),y:this.from.y+(.5*i+.5)*y*Math.cos(b)}}t=e=o<=r?i*r:i*o,this.from.x>this.to.x&&(t=-t),this.from.y>=this.to.y&&(e=-e);var w=this.from.x+t,k=this.from.y+e;return o<=r?w=this.from.x<=this.to.x?this.to.x<w?this.to.x:w:this.to.x>w?this.to.x:w:k=this.from.y>=this.to.y?this.to.y>k?this.to.y:k:this.to.y<k?this.to.y:k,{x:w,y:k}}},{key:\"_findBorderPosition\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this._findBorderPositionBezier(t,e,i.via)}},{key:\"_getDistanceToEdge\",value:function(t,e,i,n,o,r){var s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates();return this._getDistanceToBezierEdge(t,e,i,n,o,r,s)}},{key:\"getPoint\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=t,n=Math.pow(1-i,2)*this.fromPoint.x+2*i*(1-i)*e.x+Math.pow(i,2)*this.toPoint.x,o=Math.pow(1-i,2)*this.fromPoint.y+2*i*(1-i)*e.y+Math.pow(i,2)*this.toPoint.y;return{x:n,y:o}}}]),i}(tC);function rC(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var sC=function(t){zk(i,t);var e=rC(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"_getDistanceToBezierEdge2\",value:function(t,e,i,n,o,r,s,a){for(var h=1e9,l=t,d=e,c=[0,0,0,0],u=1;u<10;u++){var f=.1*u;c[0]=Math.pow(1-f,3),c[1]=3*f*Math.pow(1-f,2),c[2]=3*Math.pow(f,2)*(1-f),c[3]=Math.pow(f,3);var p=c[0]*t+c[1]*s.x+c[2]*a.x+c[3]*i,v=c[0]*e+c[1]*s.y+c[2]*a.y+c[3]*n;if(u>0){var g=this._getDistanceToLine(l,d,p,v,o,r);h=g<h?g:h}l=p,d=v}return h}}]),i}(tC);function aC(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var hC=function(t){zk(i,t);var e=aC(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"_line\",value:function(t,e,i){var n=i[0],o=i[1];this._bezierCurve(t,e,n,o)}},{key:\"_getViaCoordinates\",value:function(){var t,e,i,n,o=this.from.x-this.to.x,r=this.from.y-this.to.y,s=this.options.smooth.roundness;return(Math.abs(o)>Math.abs(r)||!0===this.options.smooth.forceDirection||\"horizontal\"===this.options.smooth.forceDirection)&&\"vertical\"!==this.options.smooth.forceDirection?(e=this.from.y,n=this.to.y,t=this.from.x-s*o,i=this.to.x+s*o):(e=this.from.y-s*r,n=this.to.y+s*r,t=this.from.x,i=this.to.x),[{x:t,y:e},{x:i,y:n}]}},{key:\"getViaNode\",value:function(){return this._getViaCoordinates()}},{key:\"_findBorderPosition\",value:function(t,e){return this._findBorderPositionBezier(t,e)}},{key:\"_getDistanceToEdge\",value:function(t,e,i,n,o,r){var s=arguments.length>6&&void 0!==arguments[6]?arguments[6]:this._getViaCoordinates(),a=Kc(s,2),h=a[0],l=a[1];return this._getDistanceToBezierEdge2(t,e,i,n,o,r,h,l)}},{key:\"getPoint\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this._getViaCoordinates(),i=Kc(e,2),n=i[0],o=i[1],r=t,s=[Math.pow(1-r,3),3*r*Math.pow(1-r,2),3*Math.pow(r,2)*(1-r),Math.pow(r,3)],a=s[0]*this.fromPoint.x+s[1]*n.x+s[2]*o.x+s[3]*this.toPoint.x,h=s[0]*this.fromPoint.y+s[1]*n.y+s[2]*o.y+s[3]*this.toPoint.y;return{x:a,y:h}}}]),i}(sC);function lC(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var dC=function(t){zk(i,t);var e=lC(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"_line\",value:function(t,e){t.beginPath(),t.moveTo(this.fromPoint.x,this.fromPoint.y),t.lineTo(this.toPoint.x,this.toPoint.y),this.enableShadow(t,e),t.stroke(),this.disableShadow(t,e)}},{key:\"getViaNode\",value:function(){}},{key:\"getPoint\",value:function(t){return{x:(1-t)*this.fromPoint.x+t*this.toPoint.x,y:(1-t)*this.fromPoint.y+t*this.toPoint.y}}},{key:\"_findBorderPosition\",value:function(t,e){var i=this.to,n=this.from;t.id===this.from.id&&(i=this.from,n=this.to);var o=Math.atan2(i.y-n.y,i.x-n.x),r=i.x-n.x,s=i.y-n.y,a=Math.sqrt(r*r+s*s),h=(a-t.distanceToBorder(e,o))/a;return{x:(1-h)*n.x+h*i.x,y:(1-h)*n.y+h*i.y,t:0}}},{key:\"_getDistanceToEdge\",value:function(t,e,i,n,o,r){return this._getDistanceToLine(t,e,i,n,o,r)}}]),i}($O),cC=function(){function t(e,i,n,o,r){if(Yd(this,t),void 0===i)throw new Error(\"No body provided\");this.options=Cm(o),this.globalOptions=o,this.defaultOptions=r,this.body=i,this.imagelist=n,this.id=void 0,this.fromId=void 0,this.toId=void 0,this.selected=!1,this.hover=!1,this.labelDirty=!0,this.baseWidth=this.options.width,this.baseFontSize=this.options.font.size,this.from=void 0,this.to=void 0,this.edgeType=void 0,this.connected=!1,this.labelModule=new OE(this.body,this.options,!0),this.setOptions(e)}return Kd(t,[{key:\"setOptions\",value:function(e){if(e){var i=void 0!==e.physics&&this.options.physics!==e.physics||void 0!==e.hidden&&(this.options.hidden||!1)!==(e.hidden||!1)||void 0!==e.from&&this.options.from!==e.from||void 0!==e.to&&this.options.to!==e.to;t.parseOptions(this.options,e,!0,this.globalOptions),void 0!==e.id&&(this.id=e.id),void 0!==e.from&&(this.fromId=e.from),void 0!==e.to&&(this.toId=e.to),void 0!==e.title&&(this.title=e.title),void 0!==e.value&&(e.value=lE(e.value));var n=[e,this.options,this.defaultOptions];return this.chooser=gE(\"edge\",n),this.updateLabelModule(e),i=this.updateEdgeType()||i,this._setInteractionWidths(),this.connect(),i}}},{key:\"getFormattingValues\",value:function(){var t=!0===this.options.arrows.to||!0===this.options.arrows.to.enabled,e=!0===this.options.arrows.from||!0===this.options.arrows.from.enabled,i=!0===this.options.arrows.middle||!0===this.options.arrows.middle.enabled,n=this.options.color.inherit,o={toArrow:t,toArrowScale:this.options.arrows.to.scaleFactor,toArrowType:this.options.arrows.to.type,toArrowSrc:this.options.arrows.to.src,toArrowImageWidth:this.options.arrows.to.imageWidth,toArrowImageHeight:this.options.arrows.to.imageHeight,middleArrow:i,middleArrowScale:this.options.arrows.middle.scaleFactor,middleArrowType:this.options.arrows.middle.type,middleArrowSrc:this.options.arrows.middle.src,middleArrowImageWidth:this.options.arrows.middle.imageWidth,middleArrowImageHeight:this.options.arrows.middle.imageHeight,fromArrow:e,fromArrowScale:this.options.arrows.from.scaleFactor,fromArrowType:this.options.arrows.from.type,fromArrowSrc:this.options.arrows.from.src,fromArrowImageWidth:this.options.arrows.from.imageWidth,fromArrowImageHeight:this.options.arrows.from.imageHeight,arrowStrikethrough:this.options.arrowStrikethrough,color:n?void 0:this.options.color.color,inheritsColor:n,opacity:this.options.color.opacity,hidden:this.options.hidden,length:this.options.length,shadow:this.options.shadow.enabled,shadowColor:this.options.shadow.color,shadowSize:this.options.shadow.size,shadowX:this.options.shadow.x,shadowY:this.options.shadow.y,dashes:this.options.dashes,width:this.options.width,background:this.options.background.enabled,backgroundColor:this.options.background.color,backgroundSize:this.options.background.size,backgroundDashes:this.options.background.dashes};if(this.selected||this.hover)if(!0===this.chooser){if(this.selected){var r=this.options.selectionWidth;\"function\"==typeof r?o.width=r(o.width):\"number\"==typeof r&&(o.width+=r),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.highlight,o.shadow=this.options.shadow.enabled}else if(this.hover){var s=this.options.hoverWidth;\"function\"==typeof s?o.width=s(o.width):\"number\"==typeof s&&(o.width+=s),o.width=Math.max(o.width,.3/this.body.view.scale),o.color=this.options.color.hover,o.shadow=this.options.shadow.enabled}}else\"function\"==typeof this.chooser&&(this.chooser(o,this.options.id,this.selected,this.hover),void 0!==o.color&&(o.inheritsColor=!1),!1===o.shadow&&(o.shadowColor===this.options.shadow.color&&o.shadowSize===this.options.shadow.size&&o.shadowX===this.options.shadow.x&&o.shadowY===this.options.shadow.y||(o.shadow=!0)));else o.shadow=this.options.shadow.enabled,o.width=Math.max(o.width,.3/this.body.view.scale);return o}},{key:\"updateLabelModule\",value:function(t){var e=[t,this.options,this.globalOptions,this.defaultOptions];this.labelModule.update(this.options,e),void 0!==this.labelModule.baseSize&&(this.baseFontSize=this.labelModule.baseSize)}},{key:\"updateEdgeType\",value:function(){var t=this.options.smooth,e=!1,i=!0;return void 0!==this.edgeType&&((this.edgeType instanceof iC&&!0===t.enabled&&\"dynamic\"===t.type||this.edgeType instanceof hC&&!0===t.enabled&&\"cubicBezier\"===t.type||this.edgeType instanceof oC&&!0===t.enabled&&\"dynamic\"!==t.type&&\"cubicBezier\"!==t.type||this.edgeType instanceof dC&&!1===t.type.enabled)&&(i=!1),!0===i&&(e=this.cleanup())),!0===i?!0===t.enabled?\"dynamic\"===t.type?(e=!0,this.edgeType=new iC(this.options,this.body,this.labelModule)):\"cubicBezier\"===t.type?this.edgeType=new hC(this.options,this.body,this.labelModule):this.edgeType=new oC(this.options,this.body,this.labelModule):this.edgeType=new dC(this.options,this.body,this.labelModule):this.edgeType.setOptions(this.options),e}},{key:\"connect\",value:function(){this.disconnect(),this.from=this.body.nodes[this.fromId]||void 0,this.to=this.body.nodes[this.toId]||void 0,this.connected=void 0!==this.from&&void 0!==this.to,!0===this.connected?(this.from.attachEdge(this),this.to.attachEdge(this)):(this.from&&this.from.detachEdge(this),this.to&&this.to.detachEdge(this)),this.edgeType.connect()}},{key:\"disconnect\",value:function(){this.from&&(this.from.detachEdge(this),this.from=void 0),this.to&&(this.to.detachEdge(this),this.to=void 0),this.connected=!1}},{key:\"getTitle\",value:function(){return this.title}},{key:\"isSelected\",value:function(){return this.selected}},{key:\"getValue\",value:function(){return this.options.value}},{key:\"setValueRange\",value:function(t,e,i){if(void 0!==this.options.value){var n=this.options.scaling.customScalingFunction(t,e,i,this.options.value),o=this.options.scaling.max-this.options.scaling.min;if(!0===this.options.scaling.label.enabled){var r=this.options.scaling.label.max-this.options.scaling.label.min;this.options.font.size=this.options.scaling.label.min+n*r}this.options.width=this.options.scaling.min+n*o}else this.options.width=this.baseWidth,this.options.font.size=this.baseFontSize;this._setInteractionWidths(),this.updateLabelModule()}},{key:\"_setInteractionWidths\",value:function(){\"function\"==typeof this.options.hoverWidth?this.edgeType.hoverWidth=this.options.hoverWidth(this.options.width):this.edgeType.hoverWidth=this.options.hoverWidth+this.options.width,\"function\"==typeof this.options.selectionWidth?this.edgeType.selectionWidth=this.options.selectionWidth(this.options.width):this.edgeType.selectionWidth=this.options.selectionWidth+this.options.width}},{key:\"draw\",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode();this.edgeType.drawLine(t,e,this.selected,this.hover,i),this.drawLabel(t,i)}}},{key:\"drawArrows\",value:function(t){var e=this.getFormattingValues();if(!e.hidden){var i=this.edgeType.getViaNode(),n={};this.edgeType.fromPoint=this.edgeType.from,this.edgeType.toPoint=this.edgeType.to,e.fromArrow&&(n.from=this.edgeType.getArrowData(t,\"from\",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.fromPoint=n.from.core),e.fromArrowSrc&&(n.from.image=this.imagelist.load(e.fromArrowSrc)),e.fromArrowImageWidth&&(n.from.imageWidth=e.fromArrowImageWidth),e.fromArrowImageHeight&&(n.from.imageHeight=e.fromArrowImageHeight)),e.toArrow&&(n.to=this.edgeType.getArrowData(t,\"to\",i,this.selected,this.hover,e),!1===e.arrowStrikethrough&&(this.edgeType.toPoint=n.to.core),e.toArrowSrc&&(n.to.image=this.imagelist.load(e.toArrowSrc)),e.toArrowImageWidth&&(n.to.imageWidth=e.toArrowImageWidth),e.toArrowImageHeight&&(n.to.imageHeight=e.toArrowImageHeight)),e.middleArrow&&(n.middle=this.edgeType.getArrowData(t,\"middle\",i,this.selected,this.hover,e),e.middleArrowSrc&&(n.middle.image=this.imagelist.load(e.middleArrowSrc)),e.middleArrowImageWidth&&(n.middle.imageWidth=e.middleArrowImageWidth),e.middleArrowImageHeight&&(n.middle.imageHeight=e.middleArrowImageHeight)),e.fromArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,n.from),e.middleArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,n.middle),e.toArrow&&this.edgeType.drawArrowHead(t,e,this.selected,this.hover,n.to)}}},{key:\"drawLabel\",value:function(t,e){if(void 0!==this.options.label){var i,n=this.from,o=this.to;if(this.labelModule.differentState(this.selected,this.hover)&&this.labelModule.getTextSize(t,this.selected,this.hover),n.id!=o.id){this.labelModule.pointToSelf=!1,i=this.edgeType.getPoint(.5,e),t.save();var r=this._getRotation(t);0!=r.angle&&(t.translate(r.x,r.y),t.rotate(r.angle)),this.labelModule.draw(t,i.x,i.y,this.selected,this.hover),t.restore()}else{this.labelModule.pointToSelf=!0;var s=bE(t,this.options.selfReference.angle,this.options.selfReference.size,n);i=this._pointOnCircle(s.x,s.y,this.options.selfReference.size,this.options.selfReference.angle),this.labelModule.draw(t,i.x,i.y,this.selected,this.hover)}}}},{key:\"getItemsOnPoint\",value:function(t){var e=[];if(this.labelModule.visible()){var i=this._getRotation();yE(this.labelModule.getSize(),t,i)&&e.push({edgeId:this.id,labelId:0})}var n={left:t.x,top:t.y};return this.isOverlappingWith(n)&&e.push({edgeId:this.id}),e}},{key:\"isOverlappingWith\",value:function(t){if(this.connected){var e=this.from.x,i=this.from.y,n=this.to.x,o=this.to.y,r=t.left,s=t.top;return this.edgeType.getDistanceToEdge(e,i,n,o,r,s)<10}return!1}},{key:\"_getRotation\",value:function(t){var e=this.edgeType.getViaNode(),i=this.edgeType.getPoint(.5,e);void 0!==t&&this.labelModule.calculateLabelSize(t,this.selected,this.hover,i.x,i.y);var n={x:i.x,y:this.labelModule.size.yLine,angle:0};if(!this.labelModule.visible())return n;if(\"horizontal\"===this.options.font.align)return n;var o=this.from.y-this.to.y,r=this.from.x-this.to.x,s=Math.atan2(o,r);return(s<-1&&r<0||s>0&&r<0)&&(s+=Math.PI),n.angle=s,n}},{key:\"_pointOnCircle\",value:function(t,e,i,n){return{x:t+i*Math.cos(n),y:e-i*Math.sin(n)}}},{key:\"select\",value:function(){this.selected=!0}},{key:\"unselect\",value:function(){this.selected=!1}},{key:\"cleanup\",value:function(){return this.edgeType.cleanup()}},{key:\"remove\",value:function(){this.cleanup(),this.disconnect(),delete this.body.edges[this.id]}},{key:\"endPointsValid\",value:function(){return void 0!==this.body.nodes[this.fromId]&&void 0!==this.body.nodes[this.toId]}}],[{key:\"parseOptions\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=[\"endPointOffset\",\"arrowStrikethrough\",\"id\",\"from\",\"hidden\",\"hoverWidth\",\"labelHighlightBold\",\"length\",\"line\",\"opacity\",\"physics\",\"scaling\",\"selectionWidth\",\"selfReferenceSize\",\"selfReference\",\"to\",\"title\",\"value\",\"width\",\"font\",\"chosen\",\"widthConstraint\"];if(em(r,t,e,i),void 0!==e.endPointOffset&&void 0!==e.endPointOffset.from&&(ok(e.endPointOffset.from)?t.endPointOffset.from=e.endPointOffset.from:(t.endPointOffset.from=void 0!==n.endPointOffset.from?n.endPointOffset.from:0,console.error(\"endPointOffset.from is not a valid number\"))),void 0!==e.endPointOffset&&void 0!==e.endPointOffset.to&&(ok(e.endPointOffset.to)?t.endPointOffset.to=e.endPointOffset.to:(t.endPointOffset.to=void 0!==n.endPointOffset.to?n.endPointOffset.to:0,console.error(\"endPointOffset.to is not a valid number\"))),mE(e.label)?t.label=e.label:mE(t.label)||(t.label=void 0),Sm(t,e,\"smooth\",n),Sm(t,e,\"shadow\",n),Sm(t,e,\"background\",n),void 0!==e.dashes&&null!==e.dashes?t.dashes=e.dashes:!0===i&&null===e.dashes&&(t.dashes=Kp(n.dashes)),void 0!==e.scaling&&null!==e.scaling?(void 0!==e.scaling.min&&(t.scaling.min=e.scaling.min),void 0!==e.scaling.max&&(t.scaling.max=e.scaling.max),Sm(t.scaling,e.scaling,\"label\",n.scaling)):!0===i&&null===e.scaling&&(t.scaling=Kp(n.scaling)),void 0!==e.arrows&&null!==e.arrows)if(\"string\"==typeof e.arrows){var s=e.arrows.toLowerCase();t.arrows.to.enabled=-1!=Fp(s).call(s,\"to\"),t.arrows.middle.enabled=-1!=Fp(s).call(s,\"middle\"),t.arrows.from.enabled=-1!=Fp(s).call(s,\"from\")}else{if(\"object\"!==Qc(e.arrows))throw new Error(\"The arrow newOptions can only be an object or a string. Refer to the documentation. You used:\"+gv(e.arrows));Sm(t.arrows,e.arrows,\"to\",n.arrows),Sm(t.arrows,e.arrows,\"middle\",n.arrows),Sm(t.arrows,e.arrows,\"from\",n.arrows)}else!0===i&&null===e.arrows&&(t.arrows=Kp(n.arrows));if(void 0!==e.color&&null!==e.color){var a=$y(e.color)?{color:e.color,highlight:e.color,hover:e.color,inherit:!1,opacity:1}:e.color,h=t.color;if(o)nm(h,n.color,!1,i);else for(var l in h)Object.prototype.hasOwnProperty.call(h,l)&&delete h[l];if($y(h))h.color=h,h.highlight=h,h.hover=h,h.inherit=!1,void 0===a.opacity&&(h.opacity=1);else{var d=!1;void 0!==a.color&&(h.color=a.color,d=!0),void 0!==a.highlight&&(h.highlight=a.highlight,d=!0),void 0!==a.hover&&(h.hover=a.hover,d=!0),void 0!==a.inherit&&(h.inherit=a.inherit),void 0!==a.opacity&&(h.opacity=Math.min(1,Math.max(0,a.opacity))),!0===d?h.inherit=!1:void 0===h.inherit&&(h.inherit=\"from\")}}else!0===i&&null===e.color&&(t.color=Cm(n.color));!0===i&&null===e.font&&(t.font=Cm(n.font)),Object.prototype.hasOwnProperty.call(e,\"selfReferenceSize\")&&(console.warn(\"The selfReferenceSize property has been deprecated. Please use selfReference property instead. The selfReference can be set like thise selfReference:{size:30, angle:Math.PI / 4}\"),t.selfReference.size=e.selfReferenceSize)}}]),t}(),uC=function(){function t(e,i,n){var o,r=this;Yd(this,t),this.body=e,this.images=i,this.groups=n,this.body.functions.createEdge=zn(o=this.create).call(o,this),this.edgesListeners={add:function(t,e){r.add(e.items)},update:function(t,e){r.update(e.items)},remove:function(t,e){r.remove(e.items)}},this.options={},this.defaultOptions={arrows:{to:{enabled:!1,scaleFactor:1,type:\"arrow\"},middle:{enabled:!1,scaleFactor:1,type:\"arrow\"},from:{enabled:!1,scaleFactor:1,type:\"arrow\"}},endPointOffset:{from:0,to:0},arrowStrikethrough:!0,color:{color:\"#848484\",highlight:\"#848484\",hover:\"#848484\",inherit:\"from\",opacity:1},dashes:!1,font:{color:\"#343434\",size:14,face:\"arial\",background:\"none\",strokeWidth:2,strokeColor:\"#ffffff\",align:\"horizontal\",multi:!1,vadjust:0,bold:{mod:\"bold\"},boldital:{mod:\"bold italic\"},ital:{mod:\"italic\"},mono:{mod:\"\",size:15,face:\"courier new\",vadjust:2}},hidden:!1,hoverWidth:1.5,label:void 0,labelHighlightBold:!0,length:void 0,physics:!0,scaling:{min:1,max:15,label:{enabled:!0,min:14,max:30,maxVisible:30,drawThreshold:5},customScalingFunction:function(t,e,i,n){if(e===t)return.5;var o=1/(e-t);return Math.max(0,(n-t)*o)}},selectionWidth:1.5,selfReference:{size:20,angle:Math.PI/4,renderBehindTheNode:!0},shadow:{enabled:!1,color:\"rgba(0,0,0,0.5)\",size:10,x:5,y:5},background:{enabled:!1,color:\"rgba(111,111,111,1)\",size:10,dashes:!1},smooth:{enabled:!0,type:\"dynamic\",forceDirection:\"none\",roundness:.5},title:void 0,width:1,value:void 0},nm(this.options,this.defaultOptions),this.bindEventListeners()}return Kd(t,[{key:\"bindEventListeners\",value:function(){var t,e,i=this;this.body.emitter.on(\"_forceDisableDynamicCurves\",(function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];\"dynamic\"===t&&(t=\"continuous\");var n=!1;for(var o in i.body.edges)if(Object.prototype.hasOwnProperty.call(i.body.edges,o)){var r=i.body.edges[o],s=i.body.data.edges.get(o);if(null!=s){var a=s.smooth;void 0!==a&&!0===a.enabled&&\"dynamic\"===a.type&&(void 0===t?r.setOptions({smooth:!1}):r.setOptions({smooth:{type:t}}),n=!0)}}!0===e&&!0===n&&i.body.emitter.emit(\"_dataChanged\")})),this.body.emitter.on(\"_dataUpdated\",(function(){i.reconnectEdges()})),this.body.emitter.on(\"refreshEdges\",zn(t=this.refresh).call(t,this)),this.body.emitter.on(\"refresh\",zn(e=this.refresh).call(e,this)),this.body.emitter.on(\"destroy\",(function(){hm(i.edgesListeners,(function(t,e){i.body.data.edges&&i.body.data.edges.off(e,t)})),delete i.body.functions.createEdge,delete i.edgesListeners.add,delete i.edgesListeners.update,delete i.edgesListeners.remove,delete i.edgesListeners}))}},{key:\"setOptions\",value:function(t){if(void 0!==t){cC.parseOptions(this.options,t,!0,this.defaultOptions,!0);var e=!1;if(void 0!==t.smooth)for(var i in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,i)&&(e=this.body.edges[i].updateEdgeType()||e);if(void 0!==t.font)for(var n in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,n)&&this.body.edges[n].updateLabelModule();void 0===t.hidden&&void 0===t.physics&&!0!==e||this.body.emitter.emit(\"_dataChanged\")}}},{key:\"setData\",value:function(t){var e=this,i=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=this.body.data.edges;if(Qx(\"id\",t))this.body.data.edges=t;else if(lu(t))this.body.data.edges=new Kx,this.body.data.edges.add(t);else{if(t)throw new TypeError(\"Array or DataSet expected\");this.body.data.edges=new Kx}if(n&&hm(this.edgesListeners,(function(t,e){n.off(e,t)})),this.body.edges={},this.body.data.edges){hm(this.edgesListeners,(function(t,i){e.body.data.edges.on(i,t)}));var o=this.body.data.edges.getIds();this.add(o,!0)}this.body.emitter.emit(\"_adjustEdgesForHierarchicalLayout\"),!1===i&&this.body.emitter.emit(\"_dataChanged\")}},{key:\"add\",value:function(t){for(var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.body.edges,n=this.body.data.edges,o=0;o<t.length;o++){var r=t[o],s=i[r];s&&s.disconnect();var a=n.get(r,{showInternalIds:!0});i[r]=this.create(a)}this.body.emitter.emit(\"_adjustEdgesForHierarchicalLayout\"),!1===e&&this.body.emitter.emit(\"_dataChanged\")}},{key:\"update\",value:function(t){for(var e=this.body.edges,i=this.body.data.edges,n=!1,o=0;o<t.length;o++){var r=t[o],s=i.get(r),a=e[r];void 0!==a?(a.disconnect(),n=a.setOptions(s)||n,a.connect()):(this.body.edges[r]=this.create(s),n=!0)}!0===n?(this.body.emitter.emit(\"_adjustEdgesForHierarchicalLayout\"),this.body.emitter.emit(\"_dataChanged\")):this.body.emitter.emit(\"_dataUpdated\")}},{key:\"remove\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(0!==t.length){var i=this.body.edges;hm(t,(function(t){var e=i[t];void 0!==e&&e.remove()})),e&&this.body.emitter.emit(\"_dataChanged\")}}},{key:\"refresh\",value:function(){var t=this;hm(this.body.edges,(function(e,i){var n=t.body.data.edges.get(i);void 0!==n&&e.setOptions(n)}))}},{key:\"create\",value:function(t){return new cC(t,this.body,this.images,this.options,this.defaultOptions)}},{key:\"reconnectEdges\",value:function(){var t,e=this.body.nodes,i=this.body.edges;for(t in e)Object.prototype.hasOwnProperty.call(e,t)&&(e[t].edges=[]);for(t in i)if(Object.prototype.hasOwnProperty.call(i,t)){var n=i[t];n.from=null,n.to=null,n.connect()}}},{key:\"getConnectedNodes\",value:function(t){var e=[];if(void 0!==this.body.edges[t]){var i=this.body.edges[t];void 0!==i.fromId&&e.push(i.fromId),void 0!==i.toId&&e.push(i.toId)}return e}},{key:\"_updateState\",value:function(){this._addMissingEdges(),this._removeInvalidEdges()}},{key:\"_removeInvalidEdges\",value:function(){var t=this,e=[];hm(this.body.edges,(function(i,n){var o=t.body.nodes[i.toId],r=t.body.nodes[i.fromId];void 0!==o&&!0===o.isCluster||void 0!==r&&!0===r.isCluster||void 0!==o&&void 0!==r||e.push(n)})),this.remove(e,!1)}},{key:\"_addMissingEdges\",value:function(){var t=this.body.data.edges;if(null!=t){var e=this.body.edges,i=[];Fu(t).call(t,(function(t,n){void 0===e[n]&&i.push(n)})),this.add(i,!0)}}}]),t}(),fC=function(){function t(e,i,n){Yd(this,t),this.body=e,this.physicsBody=i,this.barnesHutTree,this.setOptions(n),this._rng=jy(\"BARNES HUT SOLVER\")}return Kd(t,[{key:\"setOptions\",value:function(t){this.options=t,this.thetaInversed=1/this.options.theta,this.overlapAvoidanceFactor=1-Math.max(0,Math.min(1,this.options.avoidOverlap))}},{key:\"solve\",value:function(){if(0!==this.options.gravitationalConstant&&this.physicsBody.physicsNodeIndices.length>0){var t,e=this.body.nodes,i=this.physicsBody.physicsNodeIndices,n=i.length,o=this._formBarnesHutTree(e,i);this.barnesHutTree=o;for(var r=0;r<n;r++)(t=e[i[r]]).options.mass>0&&this._getForceContributions(o.root,t)}}},{key:\"_getForceContributions\",value:function(t,e){this._getForceContribution(t.children.NW,e),this._getForceContribution(t.children.NE,e),this._getForceContribution(t.children.SW,e),this._getForceContribution(t.children.SE,e)}},{key:\"_getForceContribution\",value:function(t,e){if(t.childrenCount>0){var i=t.centerOfMass.x-e.x,n=t.centerOfMass.y-e.y,o=Math.sqrt(i*i+n*n);o*t.calcSize>this.thetaInversed?this._calculateForces(o,i,n,e,t):4===t.childrenCount?this._getForceContributions(t,e):t.children.data.id!=e.id&&this._calculateForces(o,i,n,e,t)}}},{key:\"_calculateForces\",value:function(t,e,i,n,o){0===t&&(e=t=.1),this.overlapAvoidanceFactor<1&&n.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*n.shape.radius,t-n.shape.radius));var r=this.options.gravitationalConstant*o.mass*n.options.mass/Math.pow(t,3),s=e*r,a=i*r;this.physicsBody.forces[n.id].x+=s,this.physicsBody.forces[n.id].y+=a}},{key:\"_formBarnesHutTree\",value:function(t,e){for(var i,n=e.length,o=t[e[0]].x,r=t[e[0]].y,s=t[e[0]].x,a=t[e[0]].y,h=1;h<n;h++){var l=t[e[h]],d=l.x,c=l.y;l.options.mass>0&&(d<o&&(o=d),d>s&&(s=d),c<r&&(r=c),c>a&&(a=c))}var u=Math.abs(s-o)-Math.abs(a-r);u>0?(r-=.5*u,a+=.5*u):(o+=.5*u,s-=.5*u);var f=Math.max(1e-5,Math.abs(s-o)),p=.5*f,v=.5*(o+s),g=.5*(r+a),y={root:{centerOfMass:{x:0,y:0},mass:0,range:{minX:v-p,maxX:v+p,minY:g-p,maxY:g+p},size:f,calcSize:1/f,children:{data:null},maxWidth:0,level:0,childrenCount:4}};this._splitBranch(y.root);for(var m=0;m<n;m++)(i=t[e[m]]).options.mass>0&&this._placeInTree(y.root,i);return y}},{key:\"_updateBranchMass\",value:function(t,e){var i=t.centerOfMass,n=t.mass+e.options.mass,o=1/n;i.x=i.x*t.mass+e.x*e.options.mass,i.x*=o,i.y=i.y*t.mass+e.y*e.options.mass,i.y*=o,t.mass=n;var r=Math.max(Math.max(e.height,e.radius),e.width);t.maxWidth=t.maxWidth<r?r:t.maxWidth}},{key:\"_placeInTree\",value:function(t,e,i){1==i&&void 0!==i||this._updateBranchMass(t,e);var n,o=t.children.NW.range;n=o.maxX>e.x?o.maxY>e.y?\"NW\":\"SW\":o.maxY>e.y?\"NE\":\"SE\",this._placeInRegion(t,e,n)}},{key:\"_placeInRegion\",value:function(t,e,i){var n=t.children[i];switch(n.childrenCount){case 0:n.children.data=e,n.childrenCount=1,this._updateBranchMass(n,e);break;case 1:n.children.data.x===e.x&&n.children.data.y===e.y?(e.x+=this._rng(),e.y+=this._rng()):(this._splitBranch(n),this._placeInTree(n,e));break;case 4:this._placeInTree(n,e)}}},{key:\"_splitBranch\",value:function(t){var e=null;1===t.childrenCount&&(e=t.children.data,t.mass=0,t.centerOfMass.x=0,t.centerOfMass.y=0),t.childrenCount=4,t.children.data=null,this._insertRegion(t,\"NW\"),this._insertRegion(t,\"NE\"),this._insertRegion(t,\"SW\"),this._insertRegion(t,\"SE\"),null!=e&&this._placeInTree(t,e)}},{key:\"_insertRegion\",value:function(t,e){var i,n,o,r,s=.5*t.size;switch(e){case\"NW\":i=t.range.minX,n=t.range.minX+s,o=t.range.minY,r=t.range.minY+s;break;case\"NE\":i=t.range.minX+s,n=t.range.maxX,o=t.range.minY,r=t.range.minY+s;break;case\"SW\":i=t.range.minX,n=t.range.minX+s,o=t.range.minY+s,r=t.range.maxY;break;case\"SE\":i=t.range.minX+s,n=t.range.maxX,o=t.range.minY+s,r=t.range.maxY}t.children[e]={centerOfMass:{x:0,y:0},mass:0,range:{minX:i,maxX:n,minY:o,maxY:r},size:.5*t.size,calcSize:2*t.calcSize,children:{data:null},maxWidth:0,level:t.level+1,childrenCount:0}}},{key:\"_debug\",value:function(t,e){void 0!==this.barnesHutTree&&(t.lineWidth=1,this._drawBranch(this.barnesHutTree.root,t,e))}},{key:\"_drawBranch\",value:function(t,e,i){void 0===i&&(i=\"#FF0000\"),4===t.childrenCount&&(this._drawBranch(t.children.NW,e),this._drawBranch(t.children.NE,e),this._drawBranch(t.children.SE,e),this._drawBranch(t.children.SW,e)),e.strokeStyle=i,e.beginPath(),e.moveTo(t.range.minX,t.range.minY),e.lineTo(t.range.maxX,t.range.minY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.minY),e.lineTo(t.range.maxX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.maxX,t.range.maxY),e.lineTo(t.range.minX,t.range.maxY),e.stroke(),e.beginPath(),e.moveTo(t.range.minX,t.range.maxY),e.lineTo(t.range.minX,t.range.minY),e.stroke()}}]),t}(),pC=function(){function t(e,i,n){Yd(this,t),this._rng=jy(\"REPULSION SOLVER\"),this.body=e,this.physicsBody=i,this.setOptions(n)}return Kd(t,[{key:\"setOptions\",value:function(t){this.options=t}},{key:\"solve\",value:function(){for(var t,e,i,n,o,r,s,a,h=this.body.nodes,l=this.physicsBody.physicsNodeIndices,d=this.physicsBody.forces,c=this.options.nodeDistance,u=-2/3/c,f=0;f<l.length-1;f++){s=h[l[f]];for(var p=f+1;p<l.length;p++)t=(a=h[l[p]]).x-s.x,e=a.y-s.y,0===(i=Math.sqrt(t*t+e*e))&&(t=i=.1*this._rng()),i<2*c&&(r=i<.5*c?1:u*i+1.3333333333333333,n=t*(r/=i),o=e*r,d[s.id].x-=n,d[s.id].y-=o,d[a.id].x+=n,d[a.id].y+=o)}}}]),t}(),vC=function(){function t(e,i,n){Yd(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return Kd(t,[{key:\"setOptions\",value:function(t){this.options=t,this.overlapAvoidanceFactor=Math.max(0,Math.min(1,this.options.avoidOverlap||0))}},{key:\"solve\",value:function(){for(var t=this.body.nodes,e=this.physicsBody.physicsNodeIndices,i=this.physicsBody.forces,n=this.options.nodeDistance,o=0;o<e.length-1;o++)for(var r=t[e[o]],s=o+1;s<e.length;s++){var a=t[e[s]];if(r.level===a.level){var h=n+this.overlapAvoidanceFactor*((r.shape.radius||0)/2+(a.shape.radius||0)/2),l=a.x-r.x,d=a.y-r.y,c=Math.sqrt(l*l+d*d),u=void 0;u=c<h?-Math.pow(.05*c,2)+Math.pow(.05*h,2):0,0!==c&&(u/=c);var f=l*u,p=d*u;i[r.id].x-=f,i[r.id].y-=p,i[a.id].x+=f,i[a.id].y+=p}}}}]),t}(),gC=function(){function t(e,i,n){Yd(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return Kd(t,[{key:\"setOptions\",value:function(t){this.options=t}},{key:\"solve\",value:function(){for(var t,e,i,n,o,r=this.physicsBody.physicsEdgeIndices,s=this.body.edges,a=0;a<r.length;a++)!0===(e=s[r[a]]).connected&&e.toId!==e.fromId&&void 0!==this.body.nodes[e.toId]&&void 0!==this.body.nodes[e.fromId]&&(void 0!==e.edgeType.via?(t=void 0===e.options.length?this.options.springLength:e.options.length,i=e.to,n=e.edgeType.via,o=e.from,this._calculateSpringForce(i,n,.5*t),this._calculateSpringForce(n,o,.5*t)):(t=void 0===e.options.length?1.5*this.options.springLength:e.options.length,this._calculateSpringForce(e.from,e.to,t)))}},{key:\"_calculateSpringForce\",value:function(t,e,i){var n=t.x-e.x,o=t.y-e.y,r=Math.max(Math.sqrt(n*n+o*o),.01),s=this.options.springConstant*(i-r)/r,a=n*s,h=o*s;void 0!==this.physicsBody.forces[t.id]&&(this.physicsBody.forces[t.id].x+=a,this.physicsBody.forces[t.id].y+=h),void 0!==this.physicsBody.forces[e.id]&&(this.physicsBody.forces[e.id].x-=a,this.physicsBody.forces[e.id].y-=h)}}]),t}(),yC=function(){function t(e,i,n){Yd(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return Kd(t,[{key:\"setOptions\",value:function(t){this.options=t}},{key:\"solve\",value:function(){for(var t,e,i,n,o,r,s,a,h,l,d=this.body.edges,c=.5,u=this.physicsBody.physicsEdgeIndices,f=this.physicsBody.physicsNodeIndices,p=this.physicsBody.forces,v=0;v<f.length;v++){var g=f[v];p[g].springFx=0,p[g].springFy=0}for(var y=0;y<u.length;y++)!0===(e=d[u[y]]).connected&&(t=void 0===e.options.length?this.options.springLength:e.options.length,i=e.from.x-e.to.x,n=e.from.y-e.to.y,a=0===(a=Math.sqrt(i*i+n*n))?.01:a,o=i*(s=this.options.springConstant*(t-a)/a),r=n*s,e.to.level!=e.from.level?(void 0!==p[e.toId]&&(p[e.toId].springFx-=o,p[e.toId].springFy-=r),void 0!==p[e.fromId]&&(p[e.fromId].springFx+=o,p[e.fromId].springFy+=r)):(void 0!==p[e.toId]&&(p[e.toId].x-=c*o,p[e.toId].y-=c*r),void 0!==p[e.fromId]&&(p[e.fromId].x+=c*o,p[e.fromId].y+=c*r)));s=1;for(var m=0;m<f.length;m++){var b=f[m];h=Math.min(s,Math.max(-s,p[b].springFx)),l=Math.min(s,Math.max(-s,p[b].springFy)),p[b].x+=h,p[b].y+=l}for(var w=0,k=0,_=0;_<f.length;_++){var x=f[_];w+=p[x].x,k+=p[x].y}for(var E=w/f.length,O=k/f.length,C=0;C<f.length;C++){var S=f[C];p[S].x-=E,p[S].y-=O}}}]),t}(),mC=function(){function t(e,i,n){Yd(this,t),this.body=e,this.physicsBody=i,this.setOptions(n)}return Kd(t,[{key:\"setOptions\",value:function(t){this.options=t}},{key:\"solve\",value:function(){for(var t,e,i,n,o=this.body.nodes,r=this.physicsBody.physicsNodeIndices,s=this.physicsBody.forces,a=0;a<r.length;a++){t=-(n=o[r[a]]).x,e=-n.y,i=Math.sqrt(t*t+e*e),this._calculateForces(i,t,e,s,n)}}},{key:\"_calculateForces\",value:function(t,e,i,n,o){var r=0===t?0:this.options.centralGravity/t;n[o.id].x=e*r,n[o.id].y=i*r}}]),t}();function bC(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var wC=function(t){zk(i,t);var e=bC(i);function i(t,n,o){var r;return Yd(this,i),(r=e.call(this,t,n,o))._rng=jy(\"FORCE ATLAS 2 BASED REPULSION SOLVER\"),r}return Kd(i,[{key:\"_calculateForces\",value:function(t,e,i,n,o){0===t&&(e=t=.1*this._rng()),this.overlapAvoidanceFactor<1&&n.shape.radius&&(t=Math.max(.1+this.overlapAvoidanceFactor*n.shape.radius,t-n.shape.radius));var r=n.edges.length+1,s=this.options.gravitationalConstant*o.mass*n.options.mass*r/Math.pow(t,2),a=e*s,h=i*s;this.physicsBody.forces[n.id].x+=a,this.physicsBody.forces[n.id].y+=h}}]),i}(fC);function kC(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var _C=function(t){zk(i,t);var e=kC(i);function i(t,n,o){return Yd(this,i),e.call(this,t,n,o)}return Kd(i,[{key:\"_calculateForces\",value:function(t,e,i,n,o){if(t>0){var r=o.edges.length+1,s=this.options.centralGravity*r*o.options.mass;n[o.id].x=e*s,n[o.id].y=i*s}}}]),i}(mC),xC=function(){function t(e){Yd(this,t),this.body=e,this.physicsBody={physicsNodeIndices:[],physicsEdgeIndices:[],forces:{},velocities:{}},this.physicsEnabled=!0,this.simulationInterval=1e3/60,this.requiresTimeout=!0,this.previousStates={},this.referenceState={},this.freezeCache={},this.renderTimer=void 0,this.adaptiveTimestep=!1,this.adaptiveTimestepEnabled=!1,this.adaptiveCounter=0,this.adaptiveInterval=3,this.stabilized=!1,this.startedStabilization=!1,this.stabilizationIterations=0,this.ready=!1,this.options={},this.defaultOptions={enabled:!0,barnesHut:{theta:.5,gravitationalConstant:-2e3,centralGravity:.3,springLength:95,springConstant:.04,damping:.09,avoidOverlap:0},forceAtlas2Based:{theta:.5,gravitationalConstant:-50,centralGravity:.01,springConstant:.08,springLength:100,damping:.4,avoidOverlap:0},repulsion:{centralGravity:.2,springLength:200,springConstant:.05,nodeDistance:100,damping:.09,avoidOverlap:0},hierarchicalRepulsion:{centralGravity:0,springLength:100,springConstant:.01,nodeDistance:120,damping:.09},maxVelocity:50,minVelocity:.75,solver:\"barnesHut\",stabilization:{enabled:!0,iterations:1e3,updateInterval:50,onlyDynamicEdges:!1,fit:!0},timestep:.5,adaptiveTimestep:!0,wind:{x:0,y:0}},un(this.options,this.defaultOptions),this.timestep=.5,this.layoutFailed=!1,this.bindEventListeners()}return Kd(t,[{key:\"bindEventListeners\",value:function(){var t=this;this.body.emitter.on(\"initPhysics\",(function(){t.initPhysics()})),this.body.emitter.on(\"_layoutFailed\",(function(){t.layoutFailed=!0})),this.body.emitter.on(\"resetPhysics\",(function(){t.stopSimulation(),t.ready=!1})),this.body.emitter.on(\"disablePhysics\",(function(){t.physicsEnabled=!1,t.stopSimulation()})),this.body.emitter.on(\"restorePhysics\",(function(){t.setOptions(t.options),!0===t.ready&&t.startSimulation()})),this.body.emitter.on(\"startSimulation\",(function(){!0===t.ready&&t.startSimulation()})),this.body.emitter.on(\"stopSimulation\",(function(){t.stopSimulation()})),this.body.emitter.on(\"destroy\",(function(){t.stopSimulation(!1),t.body.emitter.off()})),this.body.emitter.on(\"_dataChanged\",(function(){t.updatePhysicsData()}))}},{key:\"setOptions\",value:function(t){if(void 0!==t)if(!1===t)this.options.enabled=!1,this.physicsEnabled=!1,this.stopSimulation();else if(!0===t)this.options.enabled=!0,this.physicsEnabled=!0,this.startSimulation();else{this.physicsEnabled=!0,im([\"stabilization\"],this.options,t),Sm(this.options,t,\"stabilization\"),void 0===t.enabled&&(this.options.enabled=!0),!1===this.options.enabled&&(this.physicsEnabled=!1,this.stopSimulation());var e=this.options.wind;e&&((\"number\"!=typeof e.x||ek(e.x))&&(e.x=0),(\"number\"!=typeof e.y||ek(e.y))&&(e.y=0)),this.timestep=this.options.timestep}this.init()}},{key:\"init\",value:function(){var t;\"forceAtlas2Based\"===this.options.solver?(t=this.options.forceAtlas2Based,this.nodesSolver=new wC(this.body,this.physicsBody,t),this.edgesSolver=new gC(this.body,this.physicsBody,t),this.gravitySolver=new _C(this.body,this.physicsBody,t)):\"repulsion\"===this.options.solver?(t=this.options.repulsion,this.nodesSolver=new pC(this.body,this.physicsBody,t),this.edgesSolver=new gC(this.body,this.physicsBody,t),this.gravitySolver=new mC(this.body,this.physicsBody,t)):\"hierarchicalRepulsion\"===this.options.solver?(t=this.options.hierarchicalRepulsion,this.nodesSolver=new vC(this.body,this.physicsBody,t),this.edgesSolver=new yC(this.body,this.physicsBody,t),this.gravitySolver=new mC(this.body,this.physicsBody,t)):(t=this.options.barnesHut,this.nodesSolver=new fC(this.body,this.physicsBody,t),this.edgesSolver=new gC(this.body,this.physicsBody,t),this.gravitySolver=new mC(this.body,this.physicsBody,t)),this.modelOptions=t}},{key:\"initPhysics\",value:function(){!0===this.physicsEnabled&&!0===this.options.enabled?!0===this.options.stabilization.enabled?this.stabilize():(this.stabilized=!1,this.ready=!0,this.body.emitter.emit(\"fit\",{},this.layoutFailed),this.startSimulation()):(this.ready=!0,this.body.emitter.emit(\"fit\"))}},{key:\"startSimulation\",value:function(){var t;!0===this.physicsEnabled&&!0===this.options.enabled?(this.stabilized=!1,this.adaptiveTimestep=!1,this.body.emitter.emit(\"_resizeNodes\"),void 0===this.viewFunction&&(this.viewFunction=zn(t=this.simulationStep).call(t,this),this.body.emitter.on(\"initRedraw\",this.viewFunction),this.body.emitter.emit(\"_startRendering\"))):this.body.emitter.emit(\"_redraw\")}},{key:\"stopSimulation\",value:function(){var t=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.stabilized=!0,!0===t&&this._emitStabilized(),void 0!==this.viewFunction&&(this.body.emitter.off(\"initRedraw\",this.viewFunction),this.viewFunction=void 0,!0===t&&this.body.emitter.emit(\"_stopRendering\"))}},{key:\"simulationStep\",value:function(){var t=Eu();this.physicsTick(),(Eu()-t<.4*this.simulationInterval||!0===this.runDoubleSpeed)&&!1===this.stabilized&&(this.physicsTick(),this.runDoubleSpeed=!0),!0===this.stabilized&&this.stopSimulation()}},{key:\"_emitStabilized\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.stabilizationIterations;(this.stabilizationIterations>1||!0===this.startedStabilization)&&Sv((function(){t.body.emitter.emit(\"stabilized\",{iterations:e}),t.startedStabilization=!1,t.stabilizationIterations=0}),0)}},{key:\"physicsStep\",value:function(){this.gravitySolver.solve(),this.nodesSolver.solve(),this.edgesSolver.solve(),this.moveNodes()}},{key:\"adjustTimeStep\",value:function(){!0===this._evaluateStepQuality()?this.timestep=1.2*this.timestep:this.timestep/1.2<this.options.timestep?this.timestep=this.options.timestep:(this.adaptiveCounter=-1,this.timestep=Math.max(this.options.timestep,this.timestep/1.2))}},{key:\"physicsTick\",value:function(){if(this._startStabilizing(),!0!==this.stabilized){if(!0===this.adaptiveTimestep&&!0===this.adaptiveTimestepEnabled)this.adaptiveCounter%this.adaptiveInterval==0?(this.timestep=2*this.timestep,this.physicsStep(),this.revert(),this.timestep=.5*this.timestep,this.physicsStep(),this.physicsStep(),this.adjustTimeStep()):this.physicsStep(),this.adaptiveCounter+=1;else this.timestep=this.options.timestep,this.physicsStep();!0===this.stabilized&&this.revert(),this.stabilizationIterations++}}},{key:\"updatePhysicsData\",value:function(){this.physicsBody.forces={},this.physicsBody.physicsNodeIndices=[],this.physicsBody.physicsEdgeIndices=[];var t=this.body.nodes,e=this.body.edges;for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&!0===t[i].options.physics&&this.physicsBody.physicsNodeIndices.push(t[i].id);for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&!0===e[n].options.physics&&this.physicsBody.physicsEdgeIndices.push(e[n].id);for(var o=0;o<this.physicsBody.physicsNodeIndices.length;o++){var r=this.physicsBody.physicsNodeIndices[o];this.physicsBody.forces[r]={x:0,y:0},void 0===this.physicsBody.velocities[r]&&(this.physicsBody.velocities[r]={x:0,y:0})}for(var s in this.physicsBody.velocities)void 0===t[s]&&delete this.physicsBody.velocities[s]}},{key:\"revert\",value:function(){var t=bu(this.previousStates),e=this.body.nodes,i=this.physicsBody.velocities;this.referenceState={};for(var n=0;n<t.length;n++){var o=t[n];void 0!==e[o]?!0===e[o].options.physics&&(this.referenceState[o]={positions:{x:e[o].x,y:e[o].y}},i[o].x=this.previousStates[o].vx,i[o].y=this.previousStates[o].vy,e[o].x=this.previousStates[o].x,e[o].y=this.previousStates[o].y):delete this.previousStates[o]}}},{key:\"_evaluateStepQuality\",value:function(){var t,e,i=this.body.nodes,n=this.referenceState;for(var o in this.referenceState)if(Object.prototype.hasOwnProperty.call(this.referenceState,o)&&void 0!==i[o]&&(t=i[o].x-n[o].positions.x,e=i[o].y-n[o].positions.y,Math.sqrt(Math.pow(t,2)+Math.pow(e,2))>.3))return!1;return!0}},{key:\"moveNodes\",value:function(){for(var t=this.physicsBody.physicsNodeIndices,e=0,i=0,n=0;n<t.length;n++){var o=t[n],r=this._performStep(o);e=Math.max(e,r),i+=r}this.adaptiveTimestepEnabled=i/t.length<5,this.stabilized=e<this.options.minVelocity}},{key:\"calculateComponentVelocity\",value:function(t,e,i){t+=(e-this.modelOptions.damping*t)/i*this.timestep;var n=this.options.maxVelocity||1e9;return Math.abs(t)>n&&(t=t>0?n:-n),t}},{key:\"_performStep\",value:function(t){var e=this.body.nodes[t],i=this.physicsBody.forces[t];this.options.wind&&(i.x+=this.options.wind.x,i.y+=this.options.wind.y);var n=this.physicsBody.velocities[t];return this.previousStates[t]={x:e.x,y:e.y,vx:n.x,vy:n.y},!1===e.options.fixed.x?(n.x=this.calculateComponentVelocity(n.x,i.x,e.options.mass),e.x+=n.x*this.timestep):(i.x=0,n.x=0),!1===e.options.fixed.y?(n.y=this.calculateComponentVelocity(n.y,i.y,e.options.mass),e.y+=n.y*this.timestep):(i.y=0,n.y=0),Math.sqrt(Math.pow(n.x,2)+Math.pow(n.y,2))}},{key:\"_freezeNodes\",value:function(){var t=this.body.nodes;for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&t[e].x&&t[e].y){var i=t[e].options.fixed;this.freezeCache[e]={x:i.x,y:i.y},i.x=!0,i.y=!0}}},{key:\"_restoreFrozenNodes\",value:function(){var t=this.body.nodes;for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&void 0!==this.freezeCache[e]&&(t[e].options.fixed.x=this.freezeCache[e].x,t[e].options.fixed.y=this.freezeCache[e].y);this.freezeCache={}}},{key:\"stabilize\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.stabilization.iterations;\"number\"!=typeof e&&(e=this.options.stabilization.iterations,console.error(\"The stabilize method needs a numeric amount of iterations. Switching to default: \",e)),0!==this.physicsBody.physicsNodeIndices.length?(this.adaptiveTimestep=this.options.adaptiveTimestep,this.body.emitter.emit(\"_resizeNodes\"),this.stopSimulation(),this.stabilized=!1,this.body.emitter.emit(\"_blockRedraw\"),this.targetIterations=e,!0===this.options.stabilization.onlyDynamicEdges&&this._freezeNodes(),this.stabilizationIterations=0,Sv((function(){return t._stabilizationBatch()}),0)):this.ready=!0}},{key:\"_startStabilizing\",value:function(){return!0!==this.startedStabilization&&(this.body.emitter.emit(\"startStabilizing\"),this.startedStabilization=!0,!0)}},{key:\"_stabilizationBatch\",value:function(){var t=this,e=function(){return!1===t.stabilized&&t.stabilizationIterations<t.targetIterations},i=function(){t.body.emitter.emit(\"stabilizationProgress\",{iterations:t.stabilizationIterations,total:t.targetIterations})};this._startStabilizing()&&i();for(var n,o=0;e()&&o<this.options.stabilization.updateInterval;)this.physicsTick(),o++;(i(),e())?Sv(zn(n=this._stabilizationBatch).call(n,this),0):this._finalizeStabilization()}},{key:\"_finalizeStabilization\",value:function(){this.body.emitter.emit(\"_allowRedraw\"),!0===this.options.stabilization.fit&&this.body.emitter.emit(\"fit\"),!0===this.options.stabilization.onlyDynamicEdges&&this._restoreFrozenNodes(),this.body.emitter.emit(\"stabilizationIterationsDone\"),this.body.emitter.emit(\"_requestRedraw\"),!0===this.stabilized?this._emitStabilized():this.startSimulation(),this.ready=!0}},{key:\"_drawForces\",value:function(t){for(var e=0;e<this.physicsBody.physicsNodeIndices.length;e++){var i=this.physicsBody.physicsNodeIndices[e],n=this.body.nodes[i],o=this.physicsBody.forces[i],r=Math.sqrt(Math.pow(o.x,2)+Math.pow(o.x,2)),s=Math.min(Math.max(5,r),15),a=3*s,h=km((180-180*Math.min(1,Math.max(0,.03*r)))/360,1,1),l={x:n.x+20*o.x,y:n.y+20*o.y};t.lineWidth=s,t.strokeStyle=h,t.beginPath(),t.moveTo(n.x,n.y),t.lineTo(l.x,l.y),t.stroke();var d=Math.atan2(o.y,o.x);t.fillStyle=h,XO.draw(t,{type:\"arrow\",point:l,angle:d,length:a}),jv(t).call(t)}}}]),t}(),EC=function(){function t(){Yd(this,t)}return Kd(t,null,[{key:\"getRange\",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=1e9,o=-1e9,r=1e9,s=-1e9;if(i.length>0)for(var a=0;a<i.length;a++)r>(e=t[i[a]]).shape.boundingBox.left&&(r=e.shape.boundingBox.left),s<e.shape.boundingBox.right&&(s=e.shape.boundingBox.right),n>e.shape.boundingBox.top&&(n=e.shape.boundingBox.top),o<e.shape.boundingBox.bottom&&(o=e.shape.boundingBox.bottom);return 1e9===r&&-1e9===s&&1e9===n&&-1e9===o&&(n=0,o=0,r=0,s=0),{minX:r,maxX:s,minY:n,maxY:o}}},{key:\"getRangeCore\",value:function(t){var e,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=1e9,o=-1e9,r=1e9,s=-1e9;if(i.length>0)for(var a=0;a<i.length;a++)r>(e=t[i[a]]).x&&(r=e.x),s<e.x&&(s=e.x),n>e.y&&(n=e.y),o<e.y&&(o=e.y);return 1e9===r&&-1e9===s&&1e9===n&&-1e9===o&&(n=0,o=0,r=0,s=0),{minX:r,maxX:s,minY:n,maxY:o}}},{key:\"findCenter\",value:function(t){return{x:.5*(t.maxX+t.minX),y:.5*(t.maxY+t.minY)}}},{key:\"cloneOptions\",value:function(t,e){var i={};return void 0===e||\"node\"===e?(nm(i,t.options,!0),i.x=t.x,i.y=t.y,i.amountOfConnections=t.edges.length):nm(i,t.options,!0),i}}]),t}();function OC(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var CC=function(t){zk(i,t);var e=OC(i);function i(t,n,o,r,s,a){var h;return Yd(this,i),(h=e.call(this,t,n,o,r,s,a)).isCluster=!0,h.containedNodes={},h.containedEdges={},h}return Kd(i,[{key:\"_openChildCluster\",value:function(t){var e=this,i=this.body.nodes[t];if(void 0===this.containedNodes[t])throw new Error(\"node with id: \"+t+\" not in current cluster\");if(!i.isCluster)throw new Error(\"node with id: \"+t+\" is not a cluster\");delete this.containedNodes[t],hm(i.edges,(function(t){delete e.containedEdges[t.id]})),hm(i.containedNodes,(function(t,i){e.containedNodes[i]=t})),i.containedNodes={},hm(i.containedEdges,(function(t,i){e.containedEdges[i]=t})),i.containedEdges={},hm(i.edges,(function(t){hm(e.edges,(function(i){var n,o,r=Fp(n=i.clusteringEdgeReplacingIds).call(n,t.id);-1!==r&&(hm(t.clusteringEdgeReplacingIds,(function(t){i.clusteringEdgeReplacingIds.push(t),e.body.edges[t].edgeReplacedById=i.id})),ff(o=i.clusteringEdgeReplacingIds).call(o,r,1))}))})),i.edges=[]}}]),i}(fO),SC=function(){function t(e){var i=this;Yd(this,t),this.body=e,this.clusteredNodes={},this.clusteredEdges={},this.options={},this.defaultOptions={},un(this.options,this.defaultOptions),this.body.emitter.on(\"_resetData\",(function(){i.clusteredNodes={},i.clusteredEdges={}}))}return Kd(t,[{key:\"clusterByHubsize\",value:function(t,e){void 0===t?t=this._getHubSize():\"object\"===Qc(t)&&(e=this._checkOptions(t),t=this._getHubSize());for(var i=[],n=0;n<this.body.nodeIndices.length;n++){var o=this.body.nodes[this.body.nodeIndices[n]];o.edges.length>=t&&i.push(o.id)}for(var r=0;r<i.length;r++)this.clusterByConnection(i[r],e,!0);this.body.emitter.emit(\"_dataChanged\")}},{key:\"cluster\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(void 0===e.joinCondition)throw new Error(\"Cannot call clusterByNodeData without a joinCondition function in the options.\");e=this._checkOptions(e);var n={},o={};hm(this.body.nodes,(function(i,r){i.options&&!0===e.joinCondition(i.options)&&(n[r]=i,hm(i.edges,(function(e){void 0===t.clusteredEdges[e.id]&&(o[e.id]=e)})))})),this._cluster(n,o,e,i)}},{key:\"clusterByEdgeCount\",value:function(t,e){var i=this,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];e=this._checkOptions(e);for(var o,r,s,a=[],h={},l=function(n){var l={},d={},c=i.body.nodeIndices[n],u=i.body.nodes[c];if(void 0===h[c]){s=0,r=[];for(var f=0;f<u.edges.length;f++)o=u.edges[f],void 0===i.clusteredEdges[o.id]&&(o.toId!==o.fromId&&s++,r.push(o));if(s===t){for(var p=function(t){if(void 0===e.joinCondition||null===e.joinCondition)return!0;var i=EC.cloneOptions(t);return e.joinCondition(i)},v=!0,g=0;g<r.length;g++){o=r[g];var y=i._getConnectedId(o,c);if(!p(u)){v=!1;break}d[o.id]=o,l[c]=u,l[y]=i.body.nodes[y],h[c]=!0}if(bu(l).length>0&&bu(d).length>0&&!0===v){var m=function(){for(var t=0;t<a.length;++t)for(var e in l)if(void 0!==a[t].nodes[e])return a[t]}();if(void 0!==m){for(var b in l)void 0===m.nodes[b]&&(m.nodes[b]=l[b]);for(var w in d)void 0===m.edges[w]&&(m.edges[w]=d[w])}else a.push({nodes:l,edges:d})}}}},d=0;d<this.body.nodeIndices.length;d++)l(d);for(var c=0;c<a.length;c++)this._cluster(a[c].nodes,a[c].edges,e,!1);!0===n&&this.body.emitter.emit(\"_dataChanged\")}},{key:\"clusterOutliers\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(1,t,e)}},{key:\"clusterBridges\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.clusterByEdgeCount(2,t,e)}},{key:\"clusterByConnection\",value:function(t,e){var i,n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error(\"No nodeId supplied to clusterByConnection!\");if(void 0===this.body.nodes[t])throw new Error(\"The nodeId given to clusterByConnection does not exist!\");var o=this.body.nodes[t];void 0===(e=this._checkOptions(e,o)).clusterNodeProperties.x&&(e.clusterNodeProperties.x=o.x),void 0===e.clusterNodeProperties.y&&(e.clusterNodeProperties.y=o.y),void 0===e.clusterNodeProperties.fixed&&(e.clusterNodeProperties.fixed={},e.clusterNodeProperties.fixed.x=o.options.fixed.x,e.clusterNodeProperties.fixed.y=o.options.fixed.y);var r={},s={},a=o.id,h=EC.cloneOptions(o);r[a]=o;for(var l=0;l<o.edges.length;l++){var d=o.edges[l];if(void 0===this.clusteredEdges[d.id]){var c=this._getConnectedId(d,a);if(void 0===this.clusteredNodes[c])if(c!==a)if(void 0===e.joinCondition)s[d.id]=d,r[c]=this.body.nodes[c];else{var u=EC.cloneOptions(this.body.nodes[c]);!0===e.joinCondition(h,u)&&(s[d.id]=d,r[c]=this.body.nodes[c])}else s[d.id]=d}}var f=gu(i=bu(r)).call(i,(function(t){return r[t].id}));for(var p in r)if(Object.prototype.hasOwnProperty.call(r,p))for(var v=r[p],g=0;g<v.edges.length;g++){var y=v.edges[g];Fp(f).call(f,this._getConnectedId(y,v.id))>-1&&(s[y.id]=y)}this._cluster(r,s,e,n)}},{key:\"_createClusterEdges\",value:function(t,e,i,n){for(var o,r,s,a,h,l,d=bu(t),c=[],u=0;u<d.length;u++){s=t[r=d[u]];for(var f=0;f<s.edges.length;f++)o=s.edges[f],void 0===this.clusteredEdges[o.id]&&(o.toId==o.fromId?e[o.id]=o:o.toId==r?(a=i.id,l=h=o.fromId):(a=o.toId,h=i.id,l=a),void 0===t[l]&&c.push({edge:o,fromId:h,toId:a}))}for(var p=[],v=function(t){for(var e=0;e<p.length;e++){var i=p[e],n=t.fromId===i.fromId&&t.toId===i.toId,o=t.fromId===i.toId&&t.toId===i.fromId;if(n||o)return i}return null},g=0;g<c.length;g++){var y=c[g],m=y.edge,b=v(y);null===b?(b=this._createClusteredEdge(y.fromId,y.toId,m,n),p.push(b)):b.clusteringEdgeReplacingIds.push(m.id),this.body.edges[m.id].edgeReplacedById=b.id,this._backupEdgeOptions(m),m.setOptions({physics:!1})}}},{key:\"_checkOptions\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return void 0===t.clusterEdgeProperties&&(t.clusterEdgeProperties={}),void 0===t.clusterNodeProperties&&(t.clusterNodeProperties={}),t}},{key:\"_cluster\",value:function(t,e,i){var n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3],o=[];for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&void 0!==this.clusteredNodes[r]&&o.push(r);for(var s=0;s<o.length;++s)delete t[o[s]];if(0!=bu(t).length&&(1!=bu(t).length||1==i.clusterNodeProperties.allowSingleNodeCluster)){var a=nm({},i.clusterNodeProperties);if(void 0!==i.processProperties){var h=[];for(var l in t)if(Object.prototype.hasOwnProperty.call(t,l)){var d=EC.cloneOptions(t[l]);h.push(d)}var c=[];for(var u in e)if(Object.prototype.hasOwnProperty.call(e,u)&&\"clusterEdge:\"!==u.substr(0,12)){var f=EC.cloneOptions(e[u],\"edge\");c.push(f)}if(!(a=i.processProperties(a,h,c)))throw new Error(\"The processProperties function does not return properties!\")}void 0===a.id&&(a.id=\"cluster:\"+Ax());var p=a.id;void 0===a.label&&(a.label=\"cluster\");var v=void 0;void 0===a.x&&(v=this._getClusterPosition(t),a.x=v.x),void 0===a.y&&(void 0===v&&(v=this._getClusterPosition(t)),a.y=v.y),a.id=p;var g=this.body.functions.createNode(a,CC);g.containedNodes=t,g.containedEdges=e,g.clusterEdgeProperties=i.clusterEdgeProperties,this.body.nodes[a.id]=g,this._clusterEdges(t,e,a,i.clusterEdgeProperties),a.id=void 0,!0===n&&this.body.emitter.emit(\"_dataChanged\")}}},{key:\"_backupEdgeOptions\",value:function(t){void 0===this.clusteredEdges[t.id]&&(this.clusteredEdges[t.id]={physics:t.options.physics})}},{key:\"_restoreEdge\",value:function(t){var e=this.clusteredEdges[t.id];void 0!==e&&(t.setOptions({physics:e.physics}),delete this.clusteredEdges[t.id])}},{key:\"isCluster\",value:function(t){return void 0!==this.body.nodes[t]?!0===this.body.nodes[t].isCluster:(console.error(\"Node does not exist.\"),!1)}},{key:\"_getClusterPosition\",value:function(t){for(var e,i=bu(t),n=t[i[0]].x,o=t[i[0]].x,r=t[i[0]].y,s=t[i[0]].y,a=1;a<i.length;a++)n=(e=t[i[a]]).x<n?e.x:n,o=e.x>o?e.x:o,r=e.y<r?e.y:r,s=e.y>s?e.y:s;return{x:.5*(n+o),y:.5*(r+s)}}},{key:\"openCluster\",value:function(t,e){var i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(void 0===t)throw new Error(\"No clusterNodeId supplied to openCluster.\");var n=this.body.nodes[t];if(void 0===n)throw new Error(\"The clusterNodeId supplied to openCluster does not exist.\");if(!0!==n.isCluster||void 0===n.containedNodes||void 0===n.containedEdges)throw new Error(\"The node:\"+t+\" is not a valid cluster.\");var o=this.findNode(t),r=Fp(o).call(o,t)-1;if(r>=0){var s=o[r],a=this.body.nodes[s];return a._openChildCluster(t),delete this.body.nodes[t],void(!0===i&&this.body.emitter.emit(\"_dataChanged\"))}var h=n.containedNodes,l=n.containedEdges;if(void 0!==e&&void 0!==e.releaseFunction&&\"function\"==typeof e.releaseFunction){var d={},c={x:n.x,y:n.y};for(var u in h)if(Object.prototype.hasOwnProperty.call(h,u)){var f=this.body.nodes[u];d[u]={x:f.x,y:f.y}}var p=e.releaseFunction(c,d);for(var v in h)if(Object.prototype.hasOwnProperty.call(h,v)){var g=this.body.nodes[v];void 0!==p[v]&&(g.x=void 0===p[v].x?n.x:p[v].x,g.y=void 0===p[v].y?n.y:p[v].y)}}else hm(h,(function(t){!1===t.options.fixed.x&&(t.x=n.x),!1===t.options.fixed.y&&(t.y=n.y)}));for(var y in h)if(Object.prototype.hasOwnProperty.call(h,y)){var m=this.body.nodes[y];m.vx=n.vx,m.vy=n.vy,m.setOptions({physics:!0}),delete this.clusteredNodes[y]}for(var b=[],w=0;w<n.edges.length;w++)b.push(n.edges[w]);for(var k=0;k<b.length;k++){for(var _=b[k],x=this._getConnectedId(_,t),E=this.clusteredNodes[x],O=0;O<_.clusteringEdgeReplacingIds.length;O++){var C=_.clusteringEdgeReplacingIds[O],S=this.body.edges[C];if(void 0!==S)if(void 0!==E){var T=this.body.nodes[E.clusterId];T.containedEdges[S.id]=S,delete l[S.id];var M=S.fromId,P=S.toId;S.toId==x?P=E.clusterId:M=E.clusterId,this._createClusteredEdge(M,P,S,T.clusterEdgeProperties,{hidden:!1,physics:!0})}else this._restoreEdge(S)}_.remove()}for(var D in l)Object.prototype.hasOwnProperty.call(l,D)&&this._restoreEdge(l[D]);delete this.body.nodes[t],!0===i&&this.body.emitter.emit(\"_dataChanged\")}},{key:\"getNodesInCluster\",value:function(t){var e=[];if(!0===this.isCluster(t)){var i=this.body.nodes[t].containedNodes;for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&e.push(this.body.nodes[n].id)}return e}},{key:\"findNode\",value:function(t){for(var e,i=[],n=0;void 0!==this.clusteredNodes[t]&&n<100;){if(void 0===(e=this.body.nodes[t]))return[];i.push(e.id),t=this.clusteredNodes[t].clusterId,n++}return void 0===(e=this.body.nodes[t])?[]:(i.push(e.id),Yu(i).call(i),i)}},{key:\"updateClusteredNode\",value:function(t,e){if(void 0===t)throw new Error(\"No clusteredNodeId supplied to updateClusteredNode.\");if(void 0===e)throw new Error(\"No newOptions supplied to updateClusteredNode.\");if(void 0===this.body.nodes[t])throw new Error(\"The clusteredNodeId supplied to updateClusteredNode does not exist.\");this.body.nodes[t].setOptions(e),this.body.emitter.emit(\"_dataChanged\")}},{key:\"updateEdge\",value:function(t,e){if(void 0===t)throw new Error(\"No startEdgeId supplied to updateEdge.\");if(void 0===e)throw new Error(\"No newOptions supplied to updateEdge.\");if(void 0===this.body.edges[t])throw new Error(\"The startEdgeId supplied to updateEdge does not exist.\");for(var i=this.getClusteredEdges(t),n=0;n<i.length;n++){this.body.edges[i[n]].setOptions(e)}this.body.emitter.emit(\"_dataChanged\")}},{key:\"getClusteredEdges\",value:function(t){for(var e=[],i=0;void 0!==t&&void 0!==this.body.edges[t]&&i<100;)e.push(this.body.edges[t].id),t=this.body.edges[t].edgeReplacedById,i++;return Yu(e).call(e),e}},{key:\"getBaseEdge\",value:function(t){return this.getBaseEdges(t)[0]}},{key:\"getBaseEdges\",value:function(t){for(var e=[t],i=[],n=[],o=0;e.length>0&&o<100;){var r=e.pop();if(void 0!==r){var s=this.body.edges[r];if(void 0!==s){o++;var a=s.clusteringEdgeReplacingIds;if(void 0===a)n.push(r);else for(var h=0;h<a.length;++h){var l=a[h];-1===Fp(e).call(e,a)&&-1===Fp(i).call(i,a)&&e.push(l)}i.push(r)}}}return n}},{key:\"_getConnectedId\",value:function(t,e){return t.toId!=e?t.toId:(t.fromId,t.fromId)}},{key:\"_getHubSize\",value:function(){for(var t=0,e=0,i=0,n=0,o=0;o<this.body.nodeIndices.length;o++){var r=this.body.nodes[this.body.nodeIndices[o]];r.edges.length>n&&(n=r.edges.length),t+=r.edges.length,e+=Math.pow(r.edges.length,2),i+=1}t/=i;var s=(e/=i)-Math.pow(t,2),a=Math.sqrt(s),h=Math.floor(t+2*a);return h>n&&(h=n),h}},{key:\"_createClusteredEdge\",value:function(t,e,i,n,o){var r=EC.cloneOptions(i,\"edge\");nm(r,n),r.from=t,r.to=e,r.id=\"clusterEdge:\"+Ax(),void 0!==o&&nm(r,o);var s=this.body.functions.createEdge(r);return s.clusteringEdgeReplacingIds=[i.id],s.connect(),this.body.edges[s.id]=s,s}},{key:\"_clusterEdges\",value:function(t,e,i,n){if(e instanceof cC){var o=e,r={};r[o.id]=o,e=r}if(t instanceof fO){var s=t,a={};a[s.id]=s,t=a}if(null==i)throw new Error(\"_clusterEdges: parameter clusterNode required\");for(var h in void 0===n&&(n=i.clusterEdgeProperties),this._createClusterEdges(t,e,i,n),e)if(Object.prototype.hasOwnProperty.call(e,h)&&void 0!==this.body.edges[h]){var l=this.body.edges[h];this._backupEdgeOptions(l),l.setOptions({physics:!1})}for(var d in t)Object.prototype.hasOwnProperty.call(t,d)&&(this.clusteredNodes[d]={clusterId:i.id,node:this.body.nodes[d]},this.body.nodes[d].setOptions({physics:!1}))}},{key:\"_getClusterNodeForNode\",value:function(t){if(void 0!==t){var e=this.clusteredNodes[t];if(void 0!==e){var i=e.clusterId;if(void 0!==i)return this.body.nodes[i]}}}},{key:\"_filter\",value:function(t,e){var i=[];return hm(t,(function(t){e(t)&&i.push(t)})),i}},{key:\"_updateState\",value:function(){var t,e=this,i=[],n={},o=function(t){hm(e.body.nodes,(function(e){!0===e.isCluster&&t(e)}))};for(t in this.clusteredNodes){if(Object.prototype.hasOwnProperty.call(this.clusteredNodes,t))void 0===this.body.nodes[t]&&i.push(t)}o((function(t){for(var e=0;e<i.length;e++)delete t.containedNodes[i[e]]}));for(var r=0;r<i.length;r++)delete this.clusteredNodes[i[r]];hm(this.clusteredEdges,(function(t){var i=e.body.edges[t];void 0!==i&&i.endPointsValid()||(n[t]=t)})),o((function(t){hm(t.containedEdges,(function(t,e){t.endPointsValid()||n[e]||(n[e]=e)}))})),hm(this.body.edges,(function(t,i){var o=!0,r=t.clusteringEdgeReplacingIds;if(void 0!==r){var s=0;hm(r,(function(t){var i=e.body.edges[t];void 0!==i&&i.endPointsValid()&&(s+=1)})),o=s>0}t.endPointsValid()&&o||(n[i]=i)})),o((function(t){hm(n,(function(i){delete t.containedEdges[i],hm(t.edges,(function(o,r){o.id!==i?o.clusteringEdgeReplacingIds=e._filter(o.clusteringEdgeReplacingIds,(function(t){return!n[t]})):t.edges[r]=null})),t.edges=e._filter(t.edges,(function(t){return null!==t}))}))})),hm(n,(function(t){delete e.clusteredEdges[t]})),hm(n,(function(t){delete e.body.edges[t]})),hm(bu(this.body.edges),(function(t){var i=e.body.edges[t],n=e._isClusteredNode(i.fromId)||e._isClusteredNode(i.toId);if(n!==e._isClusteredEdge(i.id))if(n){var o=e._getClusterNodeForNode(i.fromId);void 0!==o&&e._clusterEdges(e.body.nodes[i.fromId],i,o);var r=e._getClusterNodeForNode(i.toId);void 0!==r&&e._clusterEdges(e.body.nodes[i.toId],i,r)}else delete e._clusterEdges[t],e._restoreEdge(i)}));for(var s=!1,a=!0,h=function(){var t=[];o((function(e){var i=bu(e.containedNodes).length,n=!0===e.options.allowSingleNodeCluster;(n&&i<1||!n&&i<2)&&t.push(e.id)}));for(var i=0;i<t.length;++i)e.openCluster(t[i],{},!1);a=t.length>0,s=s||a};a;)h();s&&this._updateState()}},{key:\"_isClusteredNode\",value:function(t){return void 0!==this.clusteredNodes[t]}},{key:\"_isClusteredEdge\",value:function(t){return void 0!==this.clusteredEdges[t]}}]),t}();function TC(t,e){var i=void 0!==tu&&ih(t)||t[\"@@iterator\"];if(!i){if(lu(t)||(i=function(t,e){var i;if(!t)return;if(\"string\"==typeof t)return MC(t,e);var n=au(i=Object.prototype.toString.call(t)).call(i,8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return ja(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return MC(t,e)}(t))||e&&t&&\"number\"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function MC(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var PC=function(){function t(e,i){var n;Yd(this,t),void 0!==window&&(n=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame),window.requestAnimationFrame=void 0===n?function(t){t()}:n,this.body=e,this.canvas=i,this.redrawRequested=!1,this.renderTimer=void 0,this.requiresTimeout=!0,this.renderingActive=!1,this.renderRequests=0,this.allowRedraw=!0,this.dragging=!1,this.zooming=!1,this.options={},this.defaultOptions={hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1},un(this.options,this.defaultOptions),this._determineBrowserMethod(),this.bindEventListeners()}return Kd(t,[{key:\"bindEventListeners\",value:function(){var t,e=this;this.body.emitter.on(\"dragStart\",(function(){e.dragging=!0})),this.body.emitter.on(\"dragEnd\",(function(){e.dragging=!1})),this.body.emitter.on(\"zoom\",(function(){e.zooming=!0,window.clearTimeout(e.zoomTimeoutId),e.zoomTimeoutId=Sv((function(){var t;e.zooming=!1,zn(t=e._requestRedraw).call(t,e)()}),250)})),this.body.emitter.on(\"_resizeNodes\",(function(){e._resizeNodes()})),this.body.emitter.on(\"_redraw\",(function(){!1===e.renderingActive&&e._redraw()})),this.body.emitter.on(\"_blockRedraw\",(function(){e.allowRedraw=!1})),this.body.emitter.on(\"_allowRedraw\",(function(){e.allowRedraw=!0,e.redrawRequested=!1})),this.body.emitter.on(\"_requestRedraw\",zn(t=this._requestRedraw).call(t,this)),this.body.emitter.on(\"_startRendering\",(function(){e.renderRequests+=1,e.renderingActive=!0,e._startRendering()})),this.body.emitter.on(\"_stopRendering\",(function(){e.renderRequests-=1,e.renderingActive=e.renderRequests>0,e.renderTimer=void 0})),this.body.emitter.on(\"destroy\",(function(){e.renderRequests=0,e.allowRedraw=!1,e.renderingActive=!1,!0===e.requiresTimeout?clearTimeout(e.renderTimer):window.cancelAnimationFrame(e.renderTimer),e.body.emitter.off()}))}},{key:\"setOptions\",value:function(t){if(void 0!==t){em([\"hideEdgesOnDrag\",\"hideEdgesOnZoom\",\"hideNodesOnDrag\"],this.options,t)}}},{key:\"_requestNextFrame\",value:function(t,e){if(\"undefined\"!=typeof window){var i,n=window;return!0===this.requiresTimeout?i=Sv(t,e):n.requestAnimationFrame&&(i=n.requestAnimationFrame(t)),i}}},{key:\"_startRendering\",value:function(){var t;!0===this.renderingActive&&(void 0===this.renderTimer&&(this.renderTimer=this._requestNextFrame(zn(t=this._renderStep).call(t,this),this.simulationInterval)))}},{key:\"_renderStep\",value:function(){!0===this.renderingActive&&(this.renderTimer=void 0,!0===this.requiresTimeout&&this._startRendering(),this._redraw(),!1===this.requiresTimeout&&this._startRendering())}},{key:\"redraw\",value:function(){this.body.emitter.emit(\"setSize\"),this._redraw()}},{key:\"_requestRedraw\",value:function(){var t=this;!0!==this.redrawRequested&&!1===this.renderingActive&&!0===this.allowRedraw&&(this.redrawRequested=!0,this._requestNextFrame((function(){t._redraw(!1)}),0))}},{key:\"_redraw\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(!0===this.allowRedraw){this.body.emitter.emit(\"initRedraw\"),this.redrawRequested=!1;var e={drawExternalLabels:null};0!==this.canvas.frame.canvas.width&&0!==this.canvas.frame.canvas.height||this.canvas.setSize(),this.canvas.setTransform();var i=this.canvas.getContext(),n=this.canvas.frame.canvas.clientWidth,o=this.canvas.frame.canvas.clientHeight;if(i.clearRect(0,0,n,o),0===this.canvas.frame.clientWidth)return;if(i.save(),i.translate(this.body.view.translation.x,this.body.view.translation.y),i.scale(this.body.view.scale,this.body.view.scale),i.beginPath(),this.body.emitter.emit(\"beforeDrawing\",i),i.closePath(),!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawEdges(i),!1===this.dragging||!0===this.dragging&&!1===this.options.hideNodesOnDrag){var r=this._drawNodes(i,t),s=r.drawExternalLabels;e.drawExternalLabels=s}!1===t&&(!1===this.dragging||!0===this.dragging&&!1===this.options.hideEdgesOnDrag)&&(!1===this.zooming||!0===this.zooming&&!1===this.options.hideEdgesOnZoom)&&this._drawArrows(i),null!=e.drawExternalLabels&&e.drawExternalLabels(),!1===t&&this._drawSelectionBox(i),i.beginPath(),this.body.emitter.emit(\"afterDrawing\",i),i.closePath(),i.restore(),!0===t&&i.clearRect(0,0,n,o)}}},{key:\"_resizeNodes\",value:function(){this.canvas.setTransform();var t=this.canvas.getContext();t.save(),t.translate(this.body.view.translation.x,this.body.view.translation.y),t.scale(this.body.view.scale,this.body.view.scale);var e,i=this.body.nodes;for(var n in i)Object.prototype.hasOwnProperty.call(i,n)&&((e=i[n]).resize(t),e.updateBoundingBox(t,e.selected));t.restore()}},{key:\"_drawNodes\",value:function(t){for(var e,i,n=arguments.length>1&&void 0!==arguments[1]&&arguments[1],o=this.body.nodes,r=this.body.nodeIndices,s=[],a=[],h=20,l=this.canvas.DOMtoCanvas({x:-h,y:-h}),d=this.canvas.DOMtoCanvas({x:this.canvas.frame.canvas.clientWidth+h,y:this.canvas.frame.canvas.clientHeight+h}),c={top:l.y,left:l.x,bottom:d.y,right:d.x},u=[],f=0;f<r.length;f++)if((e=o[r[f]]).hover)a.push(r[f]);else if(e.isSelected())s.push(r[f]);else if(!0===n){var p=e.draw(t);null!=p.drawExternalLabel&&u.push(p.drawExternalLabel)}else if(!0===e.isBoundingBoxOverlappingWith(c)){var v=e.draw(t);null!=v.drawExternalLabel&&u.push(v.drawExternalLabel)}else e.updateBoundingBox(t,e.selected);var g=s.length,y=a.length;for(i=0;i<g;i++){var m=(e=o[s[i]]).draw(t);null!=m.drawExternalLabel&&u.push(m.drawExternalLabel)}for(i=0;i<y;i++){var b=(e=o[a[i]]).draw(t);null!=b.drawExternalLabel&&u.push(b.drawExternalLabel)}return{drawExternalLabels:function(){var t,e=TC(u);try{for(e.s();!(t=e.n()).done;){(0,t.value)()}}catch(t){e.e(t)}finally{e.f()}}}}},{key:\"_drawEdges\",value:function(t){for(var e=this.body.edges,i=this.body.edgeIndices,n=0;n<i.length;n++){var o=e[i[n]];!0===o.connected&&o.draw(t)}}},{key:\"_drawArrows\",value:function(t){for(var e=this.body.edges,i=this.body.edgeIndices,n=0;n<i.length;n++){var o=e[i[n]];!0===o.connected&&o.drawArrows(t)}}},{key:\"_determineBrowserMethod\",value:function(){if(\"undefined\"!=typeof window){var t=navigator.userAgent.toLowerCase();this.requiresTimeout=!1,(-1!=Fp(t).call(t,\"msie 9.0\")||-1!=Fp(t).call(t,\"safari\")&&Fp(t).call(t,\"chrome\")<=-1)&&(this.requiresTimeout=!0)}else this.requiresTimeout=!0}},{key:\"_drawSelectionBox\",value:function(t){if(this.body.selectionBox.show){t.beginPath();var e=this.body.selectionBox.position.end.x-this.body.selectionBox.position.start.x,i=this.body.selectionBox.position.end.y-this.body.selectionBox.position.start.y;t.rect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,e,i),t.fillStyle=\"rgba(151, 194, 252, 0.2)\",t.fillRect(this.body.selectionBox.position.start.x,this.body.selectionBox.position.start.y,e,i),t.strokeStyle=\"rgba(151, 194, 252, 1)\",t.stroke()}else t.closePath()}}]),t}(),DC=X.setInterval;function IC(t,e){e.inputHandler=function(t){t.isFirst&&e(t)},t.on(\"hammer.input\",e.inputHandler)}function BC(t,e){return e.inputHandler=function(t){t.isFinal&&e(t)},t.on(\"hammer.input\",e.inputHandler)}var zC=function(){function t(e){Yd(this,t),this.body=e,this.pixelRatio=1,this.cameraState={},this.initialized=!1,this.canvasViewCenter={},this._cleanupCallbacks=[],this.options={},this.defaultOptions={autoResize:!0,height:\"100%\",width:\"100%\"},un(this.options,this.defaultOptions),this.bindEventListeners()}return Kd(t,[{key:\"bindEventListeners\",value:function(){var t,e=this;this.body.emitter.once(\"resize\",(function(t){0!==t.width&&(e.body.view.translation.x=.5*t.width),0!==t.height&&(e.body.view.translation.y=.5*t.height)})),this.body.emitter.on(\"setSize\",zn(t=this.setSize).call(t,this)),this.body.emitter.on(\"destroy\",(function(){e.hammerFrame.destroy(),e.hammer.destroy(),e._cleanUp()}))}},{key:\"setOptions\",value:function(t){var e=this;if(void 0!==t){em([\"width\",\"height\",\"autoResize\"],this.options,t)}if(this._cleanUp(),!0===this.options.autoResize){var i;if(window.ResizeObserver){var n=new ResizeObserver((function(){!0===e.setSize()&&e.body.emitter.emit(\"_requestRedraw\")})),o=this.frame;n.observe(o),this._cleanupCallbacks.push((function(){n.unobserve(o)}))}else{var r=DC((function(){!0===e.setSize()&&e.body.emitter.emit(\"_requestRedraw\")}),1e3);this._cleanupCallbacks.push((function(){clearInterval(r)}))}var s=zn(i=this._onResize).call(i,this);dm(window,\"resize\",s),this._cleanupCallbacks.push((function(){cm(window,\"resize\",s)}))}}},{key:\"_cleanUp\",value:function(){var t,e,i;Fu(t=Yu(e=ff(i=this._cleanupCallbacks).call(i,0)).call(e)).call(t,(function(t){try{t()}catch(t){console.error(t)}}))}},{key:\"_onResize\",value:function(){this.setSize(),this.body.emitter.emit(\"_redraw\")}},{key:\"_getCameraState\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.pixelRatio;!0===this.initialized&&(this.cameraState.previousWidth=this.frame.canvas.width/t,this.cameraState.previousHeight=this.frame.canvas.height/t,this.cameraState.scale=this.body.view.scale,this.cameraState.position=this.DOMtoCanvas({x:.5*this.frame.canvas.width/t,y:.5*this.frame.canvas.height/t}))}},{key:\"_setCameraState\",value:function(){if(void 0!==this.cameraState.scale&&0!==this.frame.canvas.clientWidth&&0!==this.frame.canvas.clientHeight&&0!==this.pixelRatio&&this.cameraState.previousWidth>0&&this.cameraState.previousHeight>0){var t=this.frame.canvas.width/this.pixelRatio/this.cameraState.previousWidth,e=this.frame.canvas.height/this.pixelRatio/this.cameraState.previousHeight,i=this.cameraState.scale;1!=t&&1!=e?i=.5*this.cameraState.scale*(t+e):1!=t?i=this.cameraState.scale*t:1!=e&&(i=this.cameraState.scale*e),this.body.view.scale=i;var n=this.DOMtoCanvas({x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight}),o={x:n.x-this.cameraState.position.x,y:n.y-this.cameraState.position.y};this.body.view.translation.x+=o.x*this.body.view.scale,this.body.view.translation.y+=o.y*this.body.view.scale}}},{key:\"_prepareValue\",value:function(t){if(\"number\"==typeof t)return t+\"px\";if(\"string\"==typeof t){if(-1!==Fp(t).call(t,\"%\")||-1!==Fp(t).call(t,\"px\"))return t;if(-1===Fp(t).call(t,\"%\"))return t+\"px\"}throw new Error(\"Could not use the value supplied for width or height:\"+t)}},{key:\"_create\",value:function(){for(;this.body.container.hasChildNodes();)this.body.container.removeChild(this.body.container.firstChild);if(this.frame=document.createElement(\"div\"),this.frame.className=\"vis-network\",this.frame.style.position=\"relative\",this.frame.style.overflow=\"hidden\",this.frame.tabIndex=0,this.frame.canvas=document.createElement(\"canvas\"),this.frame.canvas.style.position=\"relative\",this.frame.appendChild(this.frame.canvas),this.frame.canvas.getContext)this._setPixelRatio(),this.setTransform();else{var t=document.createElement(\"DIV\");t.style.color=\"red\",t.style.fontWeight=\"bold\",t.style.padding=\"10px\",t.innerText=\"Error: your browser does not support HTML canvas\",this.frame.canvas.appendChild(t)}this.body.container.appendChild(this.frame),this.body.view.scale=1,this.body.view.translation={x:.5*this.frame.canvas.clientWidth,y:.5*this.frame.canvas.clientHeight},this._bindHammer()}},{key:\"_bindHammer\",value:function(){var t=this;void 0!==this.hammer&&this.hammer.destroy(),this.drag={},this.pinch={},this.hammer=new Wm(this.frame.canvas),this.hammer.get(\"pinch\").set({enable:!0}),this.hammer.get(\"pan\").set({threshold:5,direction:Wm.DIRECTION_ALL}),IC(this.hammer,(function(e){t.body.eventListeners.onTouch(e)})),this.hammer.on(\"tap\",(function(e){t.body.eventListeners.onTap(e)})),this.hammer.on(\"doubletap\",(function(e){t.body.eventListeners.onDoubleTap(e)})),this.hammer.on(\"press\",(function(e){t.body.eventListeners.onHold(e)})),this.hammer.on(\"panstart\",(function(e){t.body.eventListeners.onDragStart(e)})),this.hammer.on(\"panmove\",(function(e){t.body.eventListeners.onDrag(e)})),this.hammer.on(\"panend\",(function(e){t.body.eventListeners.onDragEnd(e)})),this.hammer.on(\"pinch\",(function(e){t.body.eventListeners.onPinch(e)})),this.frame.canvas.addEventListener(\"wheel\",(function(e){t.body.eventListeners.onMouseWheel(e)})),this.frame.canvas.addEventListener(\"mousemove\",(function(e){t.body.eventListeners.onMouseMove(e)})),this.frame.canvas.addEventListener(\"contextmenu\",(function(e){t.body.eventListeners.onContext(e)})),this.hammerFrame=new Wm(this.frame),BC(this.hammerFrame,(function(e){t.body.eventListeners.onRelease(e)}))}},{key:\"setSize\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.options.width,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.height;t=this._prepareValue(t),e=this._prepareValue(e);var i=!1,n=this.frame.canvas.width,o=this.frame.canvas.height,r=this.pixelRatio;if(this._setPixelRatio(),t!=this.options.width||e!=this.options.height||this.frame.style.width!=t||this.frame.style.height!=e)this._getCameraState(r),this.frame.style.width=t,this.frame.style.height=e,this.frame.canvas.style.width=\"100%\",this.frame.canvas.style.height=\"100%\",this.frame.canvas.width=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),this.frame.canvas.height=Math.round(this.frame.canvas.clientHeight*this.pixelRatio),this.options.width=t,this.options.height=e,this.canvasViewCenter={x:.5*this.frame.clientWidth,y:.5*this.frame.clientHeight},i=!0;else{var s=Math.round(this.frame.canvas.clientWidth*this.pixelRatio),a=Math.round(this.frame.canvas.clientHeight*this.pixelRatio);this.frame.canvas.width===s&&this.frame.canvas.height===a||this._getCameraState(r),this.frame.canvas.width!==s&&(this.frame.canvas.width=s,i=!0),this.frame.canvas.height!==a&&(this.frame.canvas.height=a,i=!0)}return!0===i&&(this.body.emitter.emit(\"resize\",{width:Math.round(this.frame.canvas.width/this.pixelRatio),height:Math.round(this.frame.canvas.height/this.pixelRatio),oldWidth:Math.round(n/this.pixelRatio),oldHeight:Math.round(o/this.pixelRatio)}),this._setCameraState()),this.initialized=!0,i}},{key:\"getContext\",value:function(){return this.frame.canvas.getContext(\"2d\")}},{key:\"_determinePixelRatio\",value:function(){var t=this.getContext();if(void 0===t)throw new Error(\"Could not get canvax context\");var e=1;return\"undefined\"!=typeof window&&(e=window.devicePixelRatio||1),e/(t.webkitBackingStorePixelRatio||t.mozBackingStorePixelRatio||t.msBackingStorePixelRatio||t.oBackingStorePixelRatio||t.backingStorePixelRatio||1)}},{key:\"_setPixelRatio\",value:function(){this.pixelRatio=this._determinePixelRatio()}},{key:\"setTransform\",value:function(){var t=this.getContext();if(void 0===t)throw new Error(\"Could not get canvax context\");t.setTransform(this.pixelRatio,0,0,this.pixelRatio,0,0)}},{key:\"_XconvertDOMtoCanvas\",value:function(t){return(t-this.body.view.translation.x)/this.body.view.scale}},{key:\"_XconvertCanvasToDOM\",value:function(t){return t*this.body.view.scale+this.body.view.translation.x}},{key:\"_YconvertDOMtoCanvas\",value:function(t){return(t-this.body.view.translation.y)/this.body.view.scale}},{key:\"_YconvertCanvasToDOM\",value:function(t){return t*this.body.view.scale+this.body.view.translation.y}},{key:\"canvasToDOM\",value:function(t){return{x:this._XconvertCanvasToDOM(t.x),y:this._YconvertCanvasToDOM(t.y)}}},{key:\"DOMtoCanvas\",value:function(t){return{x:this._XconvertDOMtoCanvas(t.x),y:this._YconvertDOMtoCanvas(t.y)}}}]),t}();function NC(t,e){var i=un({nodes:e,minZoomLevel:Number.MIN_VALUE,maxZoomLevel:1},null!=t?t:{});if(!lu(i.nodes))throw new TypeError(\"Nodes has to be an array of ids.\");if(0===i.nodes.length&&(i.nodes=e),!(\"number\"==typeof i.minZoomLevel&&i.minZoomLevel>0))throw new TypeError(\"Min zoom level has to be a number higher than zero.\");if(!(\"number\"==typeof i.maxZoomLevel&&i.minZoomLevel<=i.maxZoomLevel))throw new TypeError(\"Max zoom level has to be a number higher than min zoom level.\");return i}var FC=function(){function t(e,i){var n,o,r=this;Yd(this,t),this.body=e,this.canvas=i,this.animationSpeed=1/this.renderRefreshRate,this.animationEasingFunction=\"easeInOutQuint\",this.easingTime=0,this.sourceScale=0,this.targetScale=0,this.sourceTranslation=0,this.targetTranslation=0,this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0,this.touchTime=0,this.viewFunction=void 0,this.body.emitter.on(\"fit\",zn(n=this.fit).call(n,this)),this.body.emitter.on(\"animationFinished\",(function(){r.body.emitter.emit(\"_stopRendering\")})),this.body.emitter.on(\"unlockNode\",zn(o=this.releaseNode).call(o,this))}return Kd(t,[{key:\"setOptions\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this.options=t}},{key:\"fit\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];t=NC(t,this.body.nodeIndices);var i,n,o=this.canvas.frame.canvas.clientWidth,r=this.canvas.frame.canvas.clientHeight;if(0===o||0===r)n=1,i=EC.getRange(this.body.nodes,t.nodes);else if(!0===e){var s=0;for(var a in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,a)){var h=this.body.nodes[a];!0===h.predefinedPosition&&(s+=1)}if(s>.5*this.body.nodeIndices.length)return void this.fit(t,!1);i=EC.getRange(this.body.nodes,t.nodes);var l=this.body.nodeIndices.length;n=12.662/(l+7.4147)+.0964822;var d=Math.min(o/600,r/600);n*=d}else{this.body.emitter.emit(\"_resizeNodes\"),i=EC.getRange(this.body.nodes,t.nodes);var c=1.1*Math.abs(i.maxX-i.minX),u=1.1*Math.abs(i.maxY-i.minY),f=o/c,p=r/u;n=f<=p?f:p}n>t.maxZoomLevel?n=t.maxZoomLevel:n<t.minZoomLevel&&(n=t.minZoomLevel);var v=EC.findCenter(i),g={position:v,scale:n,animation:t.animation};this.moveTo(g)}},{key:\"focus\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(void 0!==this.body.nodes[t]){var i={x:this.body.nodes[t].x,y:this.body.nodes[t].y};e.position=i,e.lockedOnNode=t,this.moveTo(e)}else console.error(\"Node: \"+t+\" cannot be found.\")}},{key:\"moveTo\",value:function(t){if(void 0!==t){if(null!=t.offset){if(null!=t.offset.x){if(t.offset.x=+t.offset.x,!ok(t.offset.x))throw new TypeError('The option \"offset.x\" has to be a finite number.')}else t.offset.x=0;if(null!=t.offset.y){if(t.offset.y=+t.offset.y,!ok(t.offset.y))throw new TypeError('The option \"offset.y\" has to be a finite number.')}else t.offset.x=0}else t.offset={x:0,y:0};if(null!=t.position){if(null!=t.position.x){if(t.position.x=+t.position.x,!ok(t.position.x))throw new TypeError('The option \"position.x\" has to be a finite number.')}else t.position.x=0;if(null!=t.position.y){if(t.position.y=+t.position.y,!ok(t.position.y))throw new TypeError('The option \"position.y\" has to be a finite number.')}else t.position.x=0}else t.position=this.getViewPosition();if(null!=t.scale){if(t.scale=+t.scale,!(t.scale>0))throw new TypeError('The option \"scale\" has to be a number greater than zero.')}else t.scale=this.body.view.scale;void 0===t.animation&&(t.animation={duration:0}),!1===t.animation&&(t.animation={duration:0}),!0===t.animation&&(t.animation={}),void 0===t.animation.duration&&(t.animation.duration=1e3),void 0===t.animation.easingFunction&&(t.animation.easingFunction=\"easeInOutQuad\"),this.animateView(t)}else t={}}},{key:\"animateView\",value:function(t){if(void 0!==t){this.animationEasingFunction=t.animation.easingFunction,this.releaseNode(),!0===t.locked&&(this.lockedOnNodeId=t.lockedOnNode,this.lockedOnNodeOffset=t.offset),0!=this.easingTime&&this._transitionRedraw(!0),this.sourceScale=this.body.view.scale,this.sourceTranslation=this.body.view.translation,this.targetScale=t.scale,this.body.view.scale=this.targetScale;var e,i,n=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),o=n.x-t.position.x,r=n.y-t.position.y;if(this.targetTranslation={x:this.sourceTranslation.x+o*this.targetScale+t.offset.x,y:this.sourceTranslation.y+r*this.targetScale+t.offset.y},0===t.animation.duration)if(null!=this.lockedOnNodeId)this.viewFunction=zn(e=this._lockedRedraw).call(e,this),this.body.emitter.on(\"initRedraw\",this.viewFunction);else this.body.view.scale=this.targetScale,this.body.view.translation=this.targetTranslation,this.body.emitter.emit(\"_requestRedraw\");else this.animationSpeed=1/(60*t.animation.duration*.001)||1/60,this.animationEasingFunction=t.animation.easingFunction,this.viewFunction=zn(i=this._transitionRedraw).call(i,this),this.body.emitter.on(\"initRedraw\",this.viewFunction),this.body.emitter.emit(\"_startRendering\")}}},{key:\"_lockedRedraw\",value:function(){var t=this.body.nodes[this.lockedOnNodeId].x,e=this.body.nodes[this.lockedOnNodeId].y,i=this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight}),n=i.x-t,o=i.y-e,r=this.body.view.translation,s={x:r.x+n*this.body.view.scale+this.lockedOnNodeOffset.x,y:r.y+o*this.body.view.scale+this.lockedOnNodeOffset.y};this.body.view.translation=s}},{key:\"releaseNode\",value:function(){void 0!==this.lockedOnNodeId&&void 0!==this.viewFunction&&(this.body.emitter.off(\"initRedraw\",this.viewFunction),this.lockedOnNodeId=void 0,this.lockedOnNodeOffset=void 0)}},{key:\"_transitionRedraw\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.easingTime+=this.animationSpeed,this.easingTime=!0===t?1:this.easingTime;var e=Tm[this.animationEasingFunction](this.easingTime);if(this.body.view.scale=this.sourceScale+(this.targetScale-this.sourceScale)*e,this.body.view.translation={x:this.sourceTranslation.x+(this.targetTranslation.x-this.sourceTranslation.x)*e,y:this.sourceTranslation.y+(this.targetTranslation.y-this.sourceTranslation.y)*e},this.easingTime>=1){var i;if(this.body.emitter.off(\"initRedraw\",this.viewFunction),this.easingTime=0,null!=this.lockedOnNodeId)this.viewFunction=zn(i=this._lockedRedraw).call(i,this),this.body.emitter.on(\"initRedraw\",this.viewFunction);this.body.emitter.emit(\"animationFinished\")}}},{key:\"getScale\",value:function(){return this.body.view.scale}},{key:\"getViewPosition\",value:function(){return this.canvas.DOMtoCanvas({x:.5*this.canvas.frame.canvas.clientWidth,y:.5*this.canvas.frame.canvas.clientHeight})}}]),t}();function AC(t){var e,i=t&&t.preventDefault||!1,n=t&&t.container||window,o={},r={keydown:{},keyup:{}},s={};for(e=97;e<=122;e++)s[String.fromCharCode(e)]={code:e-97+65,shift:!1};for(e=65;e<=90;e++)s[String.fromCharCode(e)]={code:e,shift:!0};for(e=0;e<=9;e++)s[\"\"+e]={code:48+e,shift:!1};for(e=1;e<=12;e++)s[\"F\"+e]={code:111+e,shift:!1};for(e=0;e<=9;e++)s[\"num\"+e]={code:96+e,shift:!1};s[\"num*\"]={code:106,shift:!1},s[\"num+\"]={code:107,shift:!1},s[\"num-\"]={code:109,shift:!1},s[\"num/\"]={code:111,shift:!1},s[\"num.\"]={code:110,shift:!1},s.left={code:37,shift:!1},s.up={code:38,shift:!1},s.right={code:39,shift:!1},s.down={code:40,shift:!1},s.space={code:32,shift:!1},s.enter={code:13,shift:!1},s.shift={code:16,shift:void 0},s.esc={code:27,shift:!1},s.backspace={code:8,shift:!1},s.tab={code:9,shift:!1},s.ctrl={code:17,shift:!1},s.alt={code:18,shift:!1},s.delete={code:46,shift:!1},s.pageup={code:33,shift:!1},s.pagedown={code:34,shift:!1},s[\"=\"]={code:187,shift:!1},s[\"-\"]={code:189,shift:!1},s[\"]\"]={code:221,shift:!1},s[\"[\"]={code:219,shift:!1};var a=function(t){l(t,\"keydown\")},h=function(t){l(t,\"keyup\")},l=function(t,e){if(void 0!==r[e][t.keyCode]){for(var n=r[e][t.keyCode],o=0;o<n.length;o++)(void 0===n[o].shift||1==n[o].shift&&1==t.shiftKey||0==n[o].shift&&0==t.shiftKey)&&n[o].fn(t);1==i&&t.preventDefault()}};return o.bind=function(t,e,i){if(void 0===i&&(i=\"keydown\"),void 0===s[t])throw new Error(\"unsupported key: \"+t);void 0===r[i][s[t].code]&&(r[i][s[t].code]=[]),r[i][s[t].code].push({fn:e,shift:s[t].shift})},o.bindAll=function(t,e){for(var i in void 0===e&&(e=\"keydown\"),s)s.hasOwnProperty(i)&&o.bind(i,t,e)},o.getKey=function(t){for(var e in s)if(s.hasOwnProperty(e)){if(1==t.shiftKey&&1==s[e].shift&&t.keyCode==s[e].code)return e;if(0==t.shiftKey&&0==s[e].shift&&t.keyCode==s[e].code)return e;if(t.keyCode==s[e].code&&\"shift\"==e)return e}return\"unknown key, currently not supported\"},o.unbind=function(t,e,i){if(void 0===i&&(i=\"keydown\"),void 0===s[t])throw new Error(\"unsupported key: \"+t);if(void 0!==e){var n=[],o=r[i][s[t].code];if(void 0!==o)for(var a=0;a<o.length;a++)o[a].fn==e&&o[a].shift==s[t].shift||n.push(r[i][s[t].code][a]);r[i][s[t].code]=n}else r[i][s[t].code]=[]},o.reset=function(){r={keydown:{},keyup:{}}},o.destroy=function(){r={keydown:{},keyup:{}},n.removeEventListener(\"keydown\",a,!0),n.removeEventListener(\"keyup\",h,!0)},n.addEventListener(\"keydown\",a,!0),n.addEventListener(\"keyup\",h,!0),o}var jC=Object.freeze({__proto__:null,default:AC}),RC=function(){function t(e,i){var n=this;Yd(this,t),this.body=e,this.canvas=i,this.iconsCreated=!1,this.navigationHammers=[],this.boundFunctions={},this.touchTime=0,this.activated=!1,this.body.emitter.on(\"activate\",(function(){n.activated=!0,n.configureKeyboardBindings()})),this.body.emitter.on(\"deactivate\",(function(){n.activated=!1,n.configureKeyboardBindings()})),this.body.emitter.on(\"destroy\",(function(){void 0!==n.keycharm&&n.keycharm.destroy()})),this.options={}}return Kd(t,[{key:\"setOptions\",value:function(t){void 0!==t&&(this.options=t,this.create())}},{key:\"create\",value:function(){!0===this.options.navigationButtons?!1===this.iconsCreated&&this.loadNavigationElements():!0===this.iconsCreated&&this.cleanNavigation(),this.configureKeyboardBindings()}},{key:\"cleanNavigation\",value:function(){if(0!=this.navigationHammers.length){for(var t=0;t<this.navigationHammers.length;t++)this.navigationHammers[t].destroy();this.navigationHammers=[]}this.navigationDOM&&this.navigationDOM.wrapper&&this.navigationDOM.wrapper.parentNode&&this.navigationDOM.wrapper.parentNode.removeChild(this.navigationDOM.wrapper),this.iconsCreated=!1}},{key:\"loadNavigationElements\",value:function(){var t=this;this.cleanNavigation(),this.navigationDOM={};var e=[\"up\",\"down\",\"left\",\"right\",\"zoomIn\",\"zoomOut\",\"zoomExtends\"],i=[\"_moveUp\",\"_moveDown\",\"_moveLeft\",\"_moveRight\",\"_zoomIn\",\"_zoomOut\",\"_fit\"];this.navigationDOM.wrapper=document.createElement(\"div\"),this.navigationDOM.wrapper.className=\"vis-navigation\",this.canvas.frame.appendChild(this.navigationDOM.wrapper);for(var n=0;n<e.length;n++){this.navigationDOM[e[n]]=document.createElement(\"div\"),this.navigationDOM[e[n]].className=\"vis-button vis-\"+e[n],this.navigationDOM.wrapper.appendChild(this.navigationDOM[e[n]]);var o,r,s=new Wm(this.navigationDOM[e[n]]);if(\"_fit\"===i[n])IC(s,zn(o=this._fit).call(o,this));else IC(s,zn(r=this.bindToRedraw).call(r,this,i[n]));this.navigationHammers.push(s)}var a=new Wm(this.canvas.frame);BC(a,(function(){t._stopMovement()})),this.navigationHammers.push(a),this.iconsCreated=!0}},{key:\"bindToRedraw\",value:function(t){var e;void 0===this.boundFunctions[t]&&(this.boundFunctions[t]=zn(e=this[t]).call(e,this),this.body.emitter.on(\"initRedraw\",this.boundFunctions[t]),this.body.emitter.emit(\"_startRendering\"))}},{key:\"unbindFromRedraw\",value:function(t){void 0!==this.boundFunctions[t]&&(this.body.emitter.off(\"initRedraw\",this.boundFunctions[t]),this.body.emitter.emit(\"_stopRendering\"),delete this.boundFunctions[t])}},{key:\"_fit\",value:function(){(new Date).valueOf()-this.touchTime>700&&(this.body.emitter.emit(\"fit\",{duration:700}),this.touchTime=(new Date).valueOf())}},{key:\"_stopMovement\",value:function(){for(var t in this.boundFunctions)Object.prototype.hasOwnProperty.call(this.boundFunctions,t)&&(this.body.emitter.off(\"initRedraw\",this.boundFunctions[t]),this.body.emitter.emit(\"_stopRendering\"));this.boundFunctions={}}},{key:\"_moveUp\",value:function(){this.body.view.translation.y+=this.options.keyboard.speed.y}},{key:\"_moveDown\",value:function(){this.body.view.translation.y-=this.options.keyboard.speed.y}},{key:\"_moveLeft\",value:function(){this.body.view.translation.x+=this.options.keyboard.speed.x}},{key:\"_moveRight\",value:function(){this.body.view.translation.x-=this.options.keyboard.speed.x}},{key:\"_zoomIn\",value:function(){var t=this.body.view.scale,e=this.body.view.scale*(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,n=e/t,o=(1-n)*this.canvas.canvasViewCenter.x+i.x*n,r=(1-n)*this.canvas.canvasViewCenter.y+i.y*n;this.body.view.scale=e,this.body.view.translation={x:o,y:r},this.body.emitter.emit(\"zoom\",{direction:\"+\",scale:this.body.view.scale,pointer:null})}},{key:\"_zoomOut\",value:function(){var t=this.body.view.scale,e=this.body.view.scale/(1+this.options.keyboard.speed.zoom),i=this.body.view.translation,n=e/t,o=(1-n)*this.canvas.canvasViewCenter.x+i.x*n,r=(1-n)*this.canvas.canvasViewCenter.y+i.y*n;this.body.view.scale=e,this.body.view.translation={x:o,y:r},this.body.emitter.emit(\"zoom\",{direction:\"-\",scale:this.body.view.scale,pointer:null})}},{key:\"configureKeyboardBindings\",value:function(){var t,e,i,n,o,r,s,a,h,l,d,c,u,f,p,v,g,y,m,b,w,k,_,x,E=this;(void 0!==this.keycharm&&this.keycharm.destroy(),!0===this.options.keyboard.enabled)&&(!0===this.options.keyboard.bindToWindow?this.keycharm=AC({container:window,preventDefault:!0}):this.keycharm=AC({container:this.canvas.frame,preventDefault:!0}),this.keycharm.reset(),!0===this.activated&&(zn(t=this.keycharm).call(t,\"up\",(function(){E.bindToRedraw(\"_moveUp\")}),\"keydown\"),zn(e=this.keycharm).call(e,\"down\",(function(){E.bindToRedraw(\"_moveDown\")}),\"keydown\"),zn(i=this.keycharm).call(i,\"left\",(function(){E.bindToRedraw(\"_moveLeft\")}),\"keydown\"),zn(n=this.keycharm).call(n,\"right\",(function(){E.bindToRedraw(\"_moveRight\")}),\"keydown\"),zn(o=this.keycharm).call(o,\"=\",(function(){E.bindToRedraw(\"_zoomIn\")}),\"keydown\"),zn(r=this.keycharm).call(r,\"num+\",(function(){E.bindToRedraw(\"_zoomIn\")}),\"keydown\"),zn(s=this.keycharm).call(s,\"num-\",(function(){E.bindToRedraw(\"_zoomOut\")}),\"keydown\"),zn(a=this.keycharm).call(a,\"-\",(function(){E.bindToRedraw(\"_zoomOut\")}),\"keydown\"),zn(h=this.keycharm).call(h,\"[\",(function(){E.bindToRedraw(\"_zoomOut\")}),\"keydown\"),zn(l=this.keycharm).call(l,\"]\",(function(){E.bindToRedraw(\"_zoomIn\")}),\"keydown\"),zn(d=this.keycharm).call(d,\"pageup\",(function(){E.bindToRedraw(\"_zoomIn\")}),\"keydown\"),zn(c=this.keycharm).call(c,\"pagedown\",(function(){E.bindToRedraw(\"_zoomOut\")}),\"keydown\"),zn(u=this.keycharm).call(u,\"up\",(function(){E.unbindFromRedraw(\"_moveUp\")}),\"keyup\"),zn(f=this.keycharm).call(f,\"down\",(function(){E.unbindFromRedraw(\"_moveDown\")}),\"keyup\"),zn(p=this.keycharm).call(p,\"left\",(function(){E.unbindFromRedraw(\"_moveLeft\")}),\"keyup\"),zn(v=this.keycharm).call(v,\"right\",(function(){E.unbindFromRedraw(\"_moveRight\")}),\"keyup\"),zn(g=this.keycharm).call(g,\"=\",(function(){E.unbindFromRedraw(\"_zoomIn\")}),\"keyup\"),zn(y=this.keycharm).call(y,\"num+\",(function(){E.unbindFromRedraw(\"_zoomIn\")}),\"keyup\"),zn(m=this.keycharm).call(m,\"num-\",(function(){E.unbindFromRedraw(\"_zoomOut\")}),\"keyup\"),zn(b=this.keycharm).call(b,\"-\",(function(){E.unbindFromRedraw(\"_zoomOut\")}),\"keyup\"),zn(w=this.keycharm).call(w,\"[\",(function(){E.unbindFromRedraw(\"_zoomOut\")}),\"keyup\"),zn(k=this.keycharm).call(k,\"]\",(function(){E.unbindFromRedraw(\"_zoomIn\")}),\"keyup\"),zn(_=this.keycharm).call(_,\"pageup\",(function(){E.unbindFromRedraw(\"_zoomIn\")}),\"keyup\"),zn(x=this.keycharm).call(x,\"pagedown\",(function(){E.unbindFromRedraw(\"_zoomOut\")}),\"keyup\")))}}]),t}();function LC(t,e){var i=void 0!==tu&&ih(t)||t[\"@@iterator\"];if(!i){if(lu(t)||(i=function(t,e){var i;if(!t)return;if(\"string\"==typeof t)return HC(t,e);var n=au(i=Object.prototype.toString.call(t)).call(i,8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return ja(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return HC(t,e)}(t))||e&&t&&\"number\"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function HC(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var WC=function(){function t(e,i,n){var o,r,s,a,h,l,d,c,u,f,p,v,g;Yd(this,t),this.body=e,this.canvas=i,this.selectionHandler=n,this.navigationHandler=new RC(e,i),this.body.eventListeners.onTap=zn(o=this.onTap).call(o,this),this.body.eventListeners.onTouch=zn(r=this.onTouch).call(r,this),this.body.eventListeners.onDoubleTap=zn(s=this.onDoubleTap).call(s,this),this.body.eventListeners.onHold=zn(a=this.onHold).call(a,this),this.body.eventListeners.onDragStart=zn(h=this.onDragStart).call(h,this),this.body.eventListeners.onDrag=zn(l=this.onDrag).call(l,this),this.body.eventListeners.onDragEnd=zn(d=this.onDragEnd).call(d,this),this.body.eventListeners.onMouseWheel=zn(c=this.onMouseWheel).call(c,this),this.body.eventListeners.onPinch=zn(u=this.onPinch).call(u,this),this.body.eventListeners.onMouseMove=zn(f=this.onMouseMove).call(f,this),this.body.eventListeners.onRelease=zn(p=this.onRelease).call(p,this),this.body.eventListeners.onContext=zn(v=this.onContext).call(v,this),this.touchTime=0,this.drag={},this.pinch={},this.popup=void 0,this.popupObj=void 0,this.popupTimer=void 0,this.body.functions.getPointer=zn(g=this.getPointer).call(g,this),this.options={},this.defaultOptions={dragNodes:!0,dragView:!0,hover:!1,keyboard:{enabled:!1,speed:{x:10,y:10,zoom:.02},bindToWindow:!0,autoFocus:!0},navigationButtons:!1,tooltipDelay:300,zoomView:!0,zoomSpeed:1},un(this.options,this.defaultOptions),this.bindEventListeners()}return Kd(t,[{key:\"bindEventListeners\",value:function(){var t=this;this.body.emitter.on(\"destroy\",(function(){clearTimeout(t.popupTimer),delete t.body.functions.getPointer}))}},{key:\"setOptions\",value:function(t){if(void 0!==t){im([\"hideEdgesOnDrag\",\"hideEdgesOnZoom\",\"hideNodesOnDrag\",\"keyboard\",\"multiselect\",\"selectable\",\"selectConnectedEdges\"],this.options,t),Sm(this.options,t,\"keyboard\"),t.tooltip&&(un(this.options.tooltip,t.tooltip),t.tooltip.color&&(this.options.tooltip.color=gm(t.tooltip.color)))}this.navigationHandler.setOptions(this.options)}},{key:\"getPointer\",value:function(t){return{x:t.x-sm(this.canvas.frame.canvas),y:t.y-am(this.canvas.frame.canvas)}}},{key:\"onTouch\",value:function(t){(new Date).valueOf()-this.touchTime>50&&(this.drag.pointer=this.getPointer(t.center),this.drag.pinched=!1,this.pinch.scale=this.body.view.scale,this.touchTime=(new Date).valueOf())}},{key:\"onTap\",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect&&(t.changedPointers[0].ctrlKey||t.changedPointers[0].metaKey);this.checkSelectionChanges(e,i),this.selectionHandler.commitAndEmit(e,t),this.selectionHandler.generateClickEvent(\"click\",t,e)}},{key:\"onDoubleTap\",value:function(t){var e=this.getPointer(t.center);this.selectionHandler.generateClickEvent(\"doubleClick\",t,e)}},{key:\"onHold\",value:function(t){var e=this.getPointer(t.center),i=this.selectionHandler.options.multiselect;this.checkSelectionChanges(e,i),this.selectionHandler.commitAndEmit(e,t),this.selectionHandler.generateClickEvent(\"click\",t,e),this.selectionHandler.generateClickEvent(\"hold\",t,e)}},{key:\"onRelease\",value:function(t){if((new Date).valueOf()-this.touchTime>10){var e=this.getPointer(t.center);this.selectionHandler.generateClickEvent(\"release\",t,e),this.touchTime=(new Date).valueOf()}}},{key:\"onContext\",value:function(t){var e=this.getPointer({x:t.clientX,y:t.clientY});this.selectionHandler.generateClickEvent(\"oncontext\",t,e)}},{key:\"checkSelectionChanges\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];!0===e?this.selectionHandler.selectAdditionalOnPoint(t):this.selectionHandler.selectOnPoint(t)}},{key:\"_determineDifference\",value:function(t,e){var i=function(t,e){for(var i=[],n=0;n<t.length;n++){var o=t[n];-1===Fp(e).call(e,o)&&i.push(o)}return i};return{nodes:i(t.nodes,e.nodes),edges:i(t.edges,e.edges)}}},{key:\"onDragStart\",value:function(t){if(!this.drag.dragging){void 0===this.drag.pointer&&this.onTouch(t);var e=this.selectionHandler.getNodeAt(this.drag.pointer);if(this.drag.dragging=!0,this.drag.selection=[],this.drag.translation=un({},this.body.view.translation),this.drag.nodeId=void 0,t.srcEvent.shiftKey){this.body.selectionBox.show=!0;var i=this.getPointer(t.center);this.body.selectionBox.position.start={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)},this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)}}if(void 0!==e&&!0===this.options.dragNodes){this.drag.nodeId=e.id,!1===e.isSelected()&&this.selectionHandler.setSelection({nodes:[e.id]}),this.selectionHandler.generateClickEvent(\"dragStart\",t,this.drag.pointer);var n,o=LC(this.selectionHandler.getSelectedNodes());try{for(o.s();!(n=o.n()).done;){var r=n.value,s={id:r.id,node:r,x:r.x,y:r.y,xFixed:r.options.fixed.x,yFixed:r.options.fixed.y};r.options.fixed.x=!0,r.options.fixed.y=!0,this.drag.selection.push(s)}}catch(t){o.e(t)}finally{o.f()}}else this.selectionHandler.generateClickEvent(\"dragStart\",t,this.drag.pointer,void 0,!0)}}},{key:\"onDrag\",value:function(t){var e=this;if(!0!==this.drag.pinched){this.body.emitter.emit(\"unlockNode\");var i=this.getPointer(t.center),n=this.drag.selection;if(n&&n.length&&!0===this.options.dragNodes){this.selectionHandler.generateClickEvent(\"dragging\",t,i);var o=i.x-this.drag.pointer.x,r=i.y-this.drag.pointer.y;Fu(n).call(n,(function(t){var i=t.node;!1===t.xFixed&&(i.x=e.canvas._XconvertDOMtoCanvas(e.canvas._XconvertCanvasToDOM(t.x)+o)),!1===t.yFixed&&(i.y=e.canvas._YconvertDOMtoCanvas(e.canvas._YconvertCanvasToDOM(t.y)+r))})),this.body.emitter.emit(\"startSimulation\")}else{if(t.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent(\"dragging\",t,i,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(t);this.body.selectionBox.position.end={x:this.canvas._XconvertDOMtoCanvas(i.x),y:this.canvas._YconvertDOMtoCanvas(i.y)},this.body.emitter.emit(\"_requestRedraw\")}if(!0===this.options.dragView&&!t.srcEvent.shiftKey){if(this.selectionHandler.generateClickEvent(\"dragging\",t,i,void 0,!0),void 0===this.drag.pointer)return void this.onDragStart(t);var s=i.x-this.drag.pointer.x,a=i.y-this.drag.pointer.y;this.body.view.translation={x:this.drag.translation.x+s,y:this.drag.translation.y+a},this.body.emitter.emit(\"_requestRedraw\")}}}}},{key:\"onDragEnd\",value:function(t){var e=this;if(this.drag.dragging=!1,this.body.selectionBox.show){var i;this.body.selectionBox.show=!1;var n=this.body.selectionBox.position,o={minX:Math.min(n.start.x,n.end.x),minY:Math.min(n.start.y,n.end.y),maxX:Math.max(n.start.x,n.end.x),maxY:Math.max(n.start.y,n.end.y)},r=Xf(i=this.body.nodeIndices).call(i,(function(t){var i=e.body.nodes[t];return i.x>=o.minX&&i.x<=o.maxX&&i.y>=o.minY&&i.y<=o.maxY}));Fu(r).call(r,(function(t){return e.selectionHandler.selectObject(e.body.nodes[t])}));var s=this.getPointer(t.center);this.selectionHandler.commitAndEmit(s,t),this.selectionHandler.generateClickEvent(\"dragEnd\",t,this.getPointer(t.center),void 0,!0),this.body.emitter.emit(\"_requestRedraw\")}else{var a=this.drag.selection;a&&a.length?(Fu(a).call(a,(function(t){t.node.options.fixed.x=t.xFixed,t.node.options.fixed.y=t.yFixed})),this.selectionHandler.generateClickEvent(\"dragEnd\",t,this.getPointer(t.center)),this.body.emitter.emit(\"startSimulation\")):(this.selectionHandler.generateClickEvent(\"dragEnd\",t,this.getPointer(t.center),void 0,!0),this.body.emitter.emit(\"_requestRedraw\"))}}},{key:\"onPinch\",value:function(t){var e=this.getPointer(t.center);this.drag.pinched=!0,void 0===this.pinch.scale&&(this.pinch.scale=1);var i=this.pinch.scale*t.scale;this.zoom(i,e)}},{key:\"zoom\",value:function(t,e){if(!0===this.options.zoomView){var i=this.body.view.scale;t<1e-5&&(t=1e-5),t>10&&(t=10);var n=void 0;void 0!==this.drag&&!0===this.drag.dragging&&(n=this.canvas.DOMtoCanvas(this.drag.pointer));var o=this.body.view.translation,r=t/i,s=(1-r)*e.x+o.x*r,a=(1-r)*e.y+o.y*r;if(this.body.view.scale=t,this.body.view.translation={x:s,y:a},null!=n){var h=this.canvas.canvasToDOM(n);this.drag.pointer.x=h.x,this.drag.pointer.y=h.y}this.body.emitter.emit(\"_requestRedraw\"),i<t?this.body.emitter.emit(\"zoom\",{direction:\"+\",scale:this.body.view.scale,pointer:e}):this.body.emitter.emit(\"zoom\",{direction:\"-\",scale:this.body.view.scale,pointer:e})}}},{key:\"onMouseWheel\",value:function(t){if(!0===this.options.zoomView){if(0!==t.deltaY){var e=this.body.view.scale;e*=1+(t.deltaY<0?1:-1)*(.1*this.options.zoomSpeed);var i=this.getPointer({x:t.clientX,y:t.clientY});this.zoom(e,i)}t.preventDefault()}}},{key:\"onMouseMove\",value:function(t){var e=this,i=this.getPointer({x:t.clientX,y:t.clientY}),n=!1;void 0!==this.popup&&(!1===this.popup.hidden&&this._checkHidePopup(i),!1===this.popup.hidden&&(n=!0,this.popup.setPosition(i.x+3,i.y-5),this.popup.show())),this.options.keyboard.autoFocus&&!1===this.options.keyboard.bindToWindow&&!0===this.options.keyboard.enabled&&this.canvas.frame.focus(),!1===n&&(void 0!==this.popupTimer&&(clearInterval(this.popupTimer),this.popupTimer=void 0),this.drag.dragging||(this.popupTimer=Sv((function(){return e._checkShowPopup(i)}),this.options.tooltipDelay))),!0===this.options.hover&&this.selectionHandler.hoverObject(t,i)}},{key:\"_checkShowPopup\",value:function(t){var e=this.canvas._XconvertDOMtoCanvas(t.x),i=this.canvas._YconvertDOMtoCanvas(t.y),n={left:e,top:i,right:e,bottom:i},o=void 0===this.popupObj?void 0:this.popupObj.id,r=!1,s=\"node\";if(void 0===this.popupObj){for(var a,h=this.body.nodeIndices,l=this.body.nodes,d=[],c=0;c<h.length;c++)!0===(a=l[h[c]]).isOverlappingWith(n)&&(r=!0,void 0!==a.getTitle()&&d.push(h[c]));d.length>0&&(this.popupObj=l[d[d.length-1]],r=!0)}if(void 0===this.popupObj&&!1===r){for(var u,f=this.body.edgeIndices,p=this.body.edges,v=[],g=0;g<f.length;g++)!0===(u=p[f[g]]).isOverlappingWith(n)&&!0===u.connected&&void 0!==u.getTitle()&&v.push(f[g]);v.length>0&&(this.popupObj=p[v[v.length-1]],s=\"edge\")}void 0!==this.popupObj?this.popupObj.id!==o&&(void 0===this.popup&&(this.popup=new qm(this.canvas.frame)),this.popup.popupTargetType=s,this.popup.popupTargetId=this.popupObj.id,this.popup.setPosition(t.x+3,t.y-5),this.popup.setText(this.popupObj.getTitle()),this.popup.show(),this.body.emitter.emit(\"showPopup\",this.popupObj.id)):void 0!==this.popup&&(this.popup.hide(),this.body.emitter.emit(\"hidePopup\"))}},{key:\"_checkHidePopup\",value:function(t){var e=this.selectionHandler._pointerToPositionObject(t),i=!1;if(\"node\"===this.popup.popupTargetType){if(void 0!==this.body.nodes[this.popup.popupTargetId]&&!0===(i=this.body.nodes[this.popup.popupTargetId].isOverlappingWith(e))){var n=this.selectionHandler.getNodeAt(t);i=void 0!==n&&n.id===this.popup.popupTargetId}}else void 0===this.selectionHandler.getNodeAt(t)&&void 0!==this.body.edges[this.popup.popupTargetId]&&(i=this.body.edges[this.popup.popupTargetId].isOverlappingWith(e));!1===i&&(this.popupObj=void 0,this.popup.hide(),this.body.emitter.emit(\"hidePopup\"))}}]),t}(),qC=g,VC=Nw,UC=Db.exports.getWeakData,YC=$e,XC=Y,GC=yw,KC=pw,$C=Wt,ZC=Vo.set,QC=Vo.getterFor,JC=Wh.find,tS=Wh.findIndex,eS=qC([].splice),iS=0,nS=function(t){return t.frozen||(t.frozen=new oS)},oS=function(){this.entries=[]},rS=function(t,e){return JC(t.entries,(function(t){return t[0]===e}))};oS.prototype={get:function(t){var e=rS(this,t);if(e)return e[1]},has:function(t){return!!rS(this,t)},set:function(t,e){var i=rS(this,t);i?i[1]=e:this.entries.push([t,e])},delete:function(t){var e=tS(this.entries,(function(e){return e[0]===t}));return~e&&eS(this.entries,e,1),!!~e}};var sS,aS={getConstructor:function(t,e,i,n){var o=t((function(t,o){GC(t,r),ZC(t,{type:e,id:iS++,frozen:void 0}),null!=o&&KC(o,t[n],{that:t,AS_ENTRIES:i})})),r=o.prototype,s=QC(e),a=function(t,e,i){var n=s(t),o=UC(YC(e),!0);return!0===o?nS(n).set(e,i):o[n.id]=i,t};return VC(r,{delete:function(t){var e=s(this);if(!XC(t))return!1;var i=UC(t);return!0===i?nS(e).delete(t):i&&$C(i,e.id)&&delete i[e.id]},has:function(t){var e=s(this);if(!XC(t))return!1;var i=UC(t);return!0===i?nS(e).has(t):i&&$C(i,e.id)}}),VC(r,i?{get:function(t){var e=s(this);if(XC(t)){var i=UC(t);return!0===i?nS(e).get(t):i?i[e.id]:void 0}},set:function(t,e){return a(this,t,e)}}:{add:function(t){return a(this,t,!0)}}),o}},hS=n,lS=g,dS=Nw,cS=Db.exports,uS=Bw,fS=aS,pS=Y,vS=jb,gS=Vo.enforce,yS=_o,mS=!hS.ActiveXObject&&\"ActiveXObject\"in hS,bS=function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},wS=uS(\"WeakMap\",bS,fS);if(yS&&mS){sS=fS.getConstructor(bS,\"WeakMap\",!0),cS.enable();var kS=wS.prototype,_S=lS(kS.delete),xS=lS(kS.has),ES=lS(kS.get),OS=lS(kS.set);dS(kS,{delete:function(t){if(pS(t)&&!vS(t)){var e=gS(this);return e.frozen||(e.frozen=new sS),_S(this,t)||e.frozen.delete(t)}return _S(this,t)},has:function(t){if(pS(t)&&!vS(t)){var e=gS(this);return e.frozen||(e.frozen=new sS),xS(this,t)||e.frozen.has(t)}return xS(this,t)},get:function(t){if(pS(t)&&!vS(t)){var e=gS(this);return e.frozen||(e.frozen=new sS),xS(this,t)?ES(this,t):e.frozen.get(t)}return ES(this,t)},set:function(t,e){if(pS(t)&&!vS(t)){var i=gS(this);i.frozen||(i.frozen=new sS),xS(this,t)?OS(this,t,e):i.frozen.set(t,e)}else OS(this,t,e);return this}})}var CS,SS,TS,MS,PS,DS=X.WeakMap;function IS(t,e,i,n){if(\"a\"===i&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(\"function\"==typeof e?t!==e||!n:!e.has(t))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return\"m\"===i?n:\"a\"===i?n.call(t):n?n.value:e.get(t)}function BS(t,e,i,n,o){if(\"m\"===n)throw new TypeError(\"Private method is not writable\");if(\"a\"===n&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(\"function\"==typeof e?t!==e||!o:!e.has(t))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return\"a\"===n?o.call(t,i):o?o.value=i:e.set(t,i),i}function zS(t,e){var i=void 0!==tu&&ih(t)||t[\"@@iterator\"];if(!i){if(lu(t)||(i=function(t,e){var i;if(!t)return;if(\"string\"==typeof t)return NS(t,e);var n=au(i=Object.prototype.toString.call(t)).call(i,8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return ja(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return NS(t,e)}(t))||e&&t&&\"number\"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function NS(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function FS(t,e){var i,n=new b_,o=zS(e);try{for(o.s();!(i=o.n()).done;){var r=i.value;t.has(r)||n.add(r)}}catch(t){o.e(t)}finally{o.f()}return n}var AS=function(){function t(){Yd(this,t),CS.set(this,new b_),SS.set(this,new b_)}return Kd(t,[{key:\"size\",get:function(){return IS(this,SS,\"f\").size}},{key:\"add\",value:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];for(var n=0,o=e;n<o.length;n++){var r=o[n];IS(this,SS,\"f\").add(r)}}},{key:\"delete\",value:function(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];for(var n=0,o=e;n<o.length;n++){var r=o[n];IS(this,SS,\"f\").delete(r)}}},{key:\"clear\",value:function(){IS(this,SS,\"f\").clear()}},{key:\"getSelection\",value:function(){return Jc(IS(this,SS,\"f\"))}},{key:\"getChanges\",value:function(){return{added:Jc(FS(IS(this,CS,\"f\"),IS(this,SS,\"f\"))),deleted:Jc(FS(IS(this,SS,\"f\"),IS(this,CS,\"f\"))),previous:Jc(new b_(IS(this,CS,\"f\"))),current:Jc(new b_(IS(this,SS,\"f\")))}}},{key:\"commit\",value:function(){var t=this.getChanges();BS(this,CS,IS(this,SS,\"f\"),\"f\"),BS(this,SS,new b_(IS(this,CS,\"f\")),\"f\");var e,i=zS(t.added);try{for(i.s();!(e=i.n()).done;){e.value.select()}}catch(t){i.e(t)}finally{i.f()}var n,o=zS(t.deleted);try{for(o.s();!(n=o.n()).done;){n.value.unselect()}}catch(t){o.e(t)}finally{o.f()}return t}}]),t}();CS=new DS,SS=new DS;var jS=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){};Yd(this,t),TS.set(this,new AS),MS.set(this,new AS),PS.set(this,void 0),BS(this,PS,e,\"f\")}return Kd(t,[{key:\"sizeNodes\",get:function(){return IS(this,TS,\"f\").size}},{key:\"sizeEdges\",get:function(){return IS(this,MS,\"f\").size}},{key:\"getNodes\",value:function(){return IS(this,TS,\"f\").getSelection()}},{key:\"getEdges\",value:function(){return IS(this,MS,\"f\").getSelection()}},{key:\"addNodes\",value:function(){var t;(t=IS(this,TS,\"f\")).add.apply(t,arguments)}},{key:\"addEdges\",value:function(){var t;(t=IS(this,MS,\"f\")).add.apply(t,arguments)}},{key:\"deleteNodes\",value:function(t){IS(this,TS,\"f\").delete(t)}},{key:\"deleteEdges\",value:function(t){IS(this,MS,\"f\").delete(t)}},{key:\"clear\",value:function(){IS(this,TS,\"f\").clear(),IS(this,MS,\"f\").clear()}},{key:\"commit\",value:function(){for(var t,e,i={nodes:IS(this,TS,\"f\").commit(),edges:IS(this,MS,\"f\").commit()},n=arguments.length,o=new Array(n),r=0;r<n;r++)o[r]=arguments[r];return(t=IS(this,PS,\"f\")).call.apply(t,su(e=[this,i]).call(e,o)),i}}]),t}();function RS(t,e){var i=void 0!==tu&&ih(t)||t[\"@@iterator\"];if(!i){if(lu(t)||(i=function(t,e){var i;if(!t)return;if(\"string\"==typeof t)return LS(t,e);var n=au(i=Object.prototype.toString.call(t)).call(i,8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return ja(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return LS(t,e)}(t))||e&&t&&\"number\"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function LS(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}TS=new DS,MS=new DS,PS=new DS;var HS=function(){function t(e,i){var n=this;Yd(this,t),this.body=e,this.canvas=i,this._selectionAccumulator=new jS,this.hoverObj={nodes:{},edges:{}},this.options={},this.defaultOptions={multiselect:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0},un(this.options,this.defaultOptions),this.body.emitter.on(\"_dataChanged\",(function(){n.updateSelection()}))}return Kd(t,[{key:\"setOptions\",value:function(t){if(void 0!==t){em([\"multiselect\",\"hoverConnectedEdges\",\"selectable\",\"selectConnectedEdges\"],this.options,t)}}},{key:\"selectOnPoint\",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);this.unselectAll(),void 0!==i&&(e=this.selectObject(i)),this.body.emitter.emit(\"_requestRedraw\")}return e}},{key:\"selectAdditionalOnPoint\",value:function(t){var e=!1;if(!0===this.options.selectable){var i=this.getNodeAt(t)||this.getEdgeAt(t);void 0!==i&&(e=!0,!0===i.isSelected()?this.deselectObject(i):this.selectObject(i),this.body.emitter.emit(\"_requestRedraw\"))}return e}},{key:\"_initBaseEvent\",value:function(t,e){var i={};return i.pointer={DOM:{x:e.x,y:e.y},canvas:this.canvas.DOMtoCanvas(e)},i.event=t,i}},{key:\"generateClickEvent\",value:function(t,e,i,n){var o=arguments.length>4&&void 0!==arguments[4]&&arguments[4],r=this._initBaseEvent(e,i);if(!0===o)r.nodes=[],r.edges=[];else{var s=this.getSelection();r.nodes=s.nodes,r.edges=s.edges}void 0!==n&&(r.previousSelection=n),\"click\"==t&&(r.items=this.getClickedItems(i)),void 0!==e.controlEdge&&(r.controlEdge=e.controlEdge),this.body.emitter.emit(t,r)}},{key:\"selectObject\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.selectConnectedEdges;if(void 0!==t){if(t instanceof fO){var i;if(!0===e)(i=this._selectionAccumulator).addEdges.apply(i,Jc(t.edges));this._selectionAccumulator.addNodes(t)}else this._selectionAccumulator.addEdges(t);return!0}return!1}},{key:\"deselectObject\",value:function(t){!0===t.isSelected()&&(t.selected=!1,this._removeFromSelection(t))}},{key:\"_getAllNodesOverlappingWith\",value:function(t){for(var e=[],i=this.body.nodes,n=0;n<this.body.nodeIndices.length;n++){var o=this.body.nodeIndices[n];i[o].isOverlappingWith(t)&&e.push(o)}return e}},{key:\"_pointerToPositionObject\",value:function(t){var e=this.canvas.DOMtoCanvas(t);return{left:e.x-1,top:e.y+1,right:e.x+1,bottom:e.y-1}}},{key:\"getNodeAt\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this._pointerToPositionObject(t),n=this._getAllNodesOverlappingWith(i);return n.length>0?!0===e?this.body.nodes[n[n.length-1]]:n[n.length-1]:void 0}},{key:\"_getEdgesOverlappingWith\",value:function(t,e){for(var i=this.body.edges,n=0;n<this.body.edgeIndices.length;n++){var o=this.body.edgeIndices[n];i[o].isOverlappingWith(t)&&e.push(o)}}},{key:\"_getAllEdgesOverlappingWith\",value:function(t){var e=[];return this._getEdgesOverlappingWith(t,e),e}},{key:\"getEdgeAt\",value:function(t){for(var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.canvas.DOMtoCanvas(t),n=10,o=null,r=this.body.edges,s=0;s<this.body.edgeIndices.length;s++){var a=this.body.edgeIndices[s],h=r[a];if(h.connected){var l=h.from.x,d=h.from.y,c=h.to.x,u=h.to.y,f=h.edgeType.getDistanceToEdge(l,d,c,u,i.x,i.y);f<n&&(o=a,n=f)}}return null!==o?!0===e?this.body.edges[o]:o:void 0}},{key:\"_addToHover\",value:function(t){t instanceof fO?this.hoverObj.nodes[t.id]=t:this.hoverObj.edges[t.id]=t}},{key:\"_removeFromSelection\",value:function(t){var e;t instanceof fO?(this._selectionAccumulator.deleteNodes(t),(e=this._selectionAccumulator).deleteEdges.apply(e,Jc(t.edges))):this._selectionAccumulator.deleteEdges(t)}},{key:\"unselectAll\",value:function(){this._selectionAccumulator.clear()}},{key:\"getSelectedNodeCount\",value:function(){return this._selectionAccumulator.sizeNodes}},{key:\"getSelectedEdgeCount\",value:function(){return this._selectionAccumulator.sizeEdges}},{key:\"_hoverConnectedEdges\",value:function(t){for(var e=0;e<t.edges.length;e++){var i=t.edges[e];i.hover=!0,this._addToHover(i)}}},{key:\"emitBlurEvent\",value:function(t,e,i){var n=this._initBaseEvent(t,e);!0===i.hover&&(i.hover=!1,i instanceof fO?(n.node=i.id,this.body.emitter.emit(\"blurNode\",n)):(n.edge=i.id,this.body.emitter.emit(\"blurEdge\",n)))}},{key:\"emitHoverEvent\",value:function(t,e,i){var n=this._initBaseEvent(t,e),o=!1;return!1===i.hover&&(i.hover=!0,this._addToHover(i),o=!0,i instanceof fO?(n.node=i.id,this.body.emitter.emit(\"hoverNode\",n)):(n.edge=i.id,this.body.emitter.emit(\"hoverEdge\",n))),o}},{key:\"hoverObject\",value:function(t,e){var i=this.getNodeAt(e);void 0===i&&(i=this.getEdgeAt(e));var n=!1;for(var o in this.hoverObj.nodes)Object.prototype.hasOwnProperty.call(this.hoverObj.nodes,o)&&(void 0===i||i instanceof fO&&i.id!=o||i instanceof cC)&&(this.emitBlurEvent(t,e,this.hoverObj.nodes[o]),delete this.hoverObj.nodes[o],n=!0);for(var r in this.hoverObj.edges)Object.prototype.hasOwnProperty.call(this.hoverObj.edges,r)&&(!0===n?(this.hoverObj.edges[r].hover=!1,delete this.hoverObj.edges[r]):(void 0===i||i instanceof cC&&i.id!=r||i instanceof fO&&!i.hover)&&(this.emitBlurEvent(t,e,this.hoverObj.edges[r]),delete this.hoverObj.edges[r],n=!0));if(void 0!==i){var s=bu(this.hoverObj.edges).length,a=bu(this.hoverObj.nodes).length;(n||i instanceof cC&&0===s&&0===a||i instanceof fO&&0===s&&0===a)&&(n=this.emitHoverEvent(t,e,i)),i instanceof fO&&!0===this.options.hoverConnectedEdges&&this._hoverConnectedEdges(i)}!0===n&&this.body.emitter.emit(\"_requestRedraw\")}},{key:\"commitWithoutEmitting\",value:function(){this._selectionAccumulator.commit()}},{key:\"commitAndEmit\",value:function(t,e){var i=!1,n=this._selectionAccumulator.commit(),o={nodes:n.nodes.previous,edges:n.edges.previous};n.edges.deleted.length>0&&(this.generateClickEvent(\"deselectEdge\",e,t,o),i=!0),n.nodes.deleted.length>0&&(this.generateClickEvent(\"deselectNode\",e,t,o),i=!0),n.nodes.added.length>0&&(this.generateClickEvent(\"selectNode\",e,t),i=!0),n.edges.added.length>0&&(this.generateClickEvent(\"selectEdge\",e,t),i=!0),!0===i&&this.generateClickEvent(\"select\",e,t)}},{key:\"getSelection\",value:function(){return{nodes:this.getSelectedNodeIds(),edges:this.getSelectedEdgeIds()}}},{key:\"getSelectedNodes\",value:function(){return this._selectionAccumulator.getNodes()}},{key:\"getSelectedEdges\",value:function(){return this._selectionAccumulator.getEdges()}},{key:\"getSelectedNodeIds\",value:function(){var t;return gu(t=this._selectionAccumulator.getNodes()).call(t,(function(t){return t.id}))}},{key:\"getSelectedEdgeIds\",value:function(){var t;return gu(t=this._selectionAccumulator.getEdges()).call(t,(function(t){return t.id}))}},{key:\"setSelection\",value:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!t||!t.nodes&&!t.edges)throw new TypeError(\"Selection must be an object with nodes and/or edges properties\");if((e.unselectAll||void 0===e.unselectAll)&&this.unselectAll(),t.nodes){var i,n=RS(t.nodes);try{for(n.s();!(i=n.n()).done;){var o=i.value,r=this.body.nodes[o];if(!r)throw new RangeError('Node with id \"'+o+'\" not found');this.selectObject(r,e.highlightEdges)}}catch(t){n.e(t)}finally{n.f()}}if(t.edges){var s,a=RS(t.edges);try{for(a.s();!(s=a.n()).done;){var h=s.value,l=this.body.edges[h];if(!l)throw new RangeError('Edge with id \"'+h+'\" not found');this.selectObject(l)}}catch(t){a.e(t)}finally{a.f()}}this.body.emitter.emit(\"_requestRedraw\"),this._selectionAccumulator.commit()}},{key:\"selectNodes\",value:function(t){var e=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!t||void 0===t.length)throw\"Selection must be an array with ids\";this.setSelection({nodes:t},{highlightEdges:e})}},{key:\"selectEdges\",value:function(t){if(!t||void 0===t.length)throw\"Selection must be an array with ids\";this.setSelection({edges:t})}},{key:\"updateSelection\",value:function(){for(var t in this._selectionAccumulator.getNodes())Object.prototype.hasOwnProperty.call(this.body.nodes,t.id)||this._selectionAccumulator.deleteNodes(t);for(var e in this._selectionAccumulator.getEdges())Object.prototype.hasOwnProperty.call(this.body.edges,e.id)||this._selectionAccumulator.deleteEdges(e)}},{key:\"getClickedItems\",value:function(t){for(var e=this.canvas.DOMtoCanvas(t),i=[],n=this.body.nodeIndices,o=this.body.nodes,r=n.length-1;r>=0;r--){var s=o[n[r]].getItemsOnPoint(e);i.push.apply(i,s)}for(var a=this.body.edgeIndices,h=this.body.edges,l=a.length-1;l>=0;l--){var d=h[a[l]].getItemsOnPoint(e);i.push.apply(i,d)}return i}}]),t}(),WS={};!function(t){!function(t){function e(t,e){if(!(t instanceof e))throw new TypeError(\"Cannot call a class as a function\")}t.__esModule=!0,t.sort=v;var i=32,n=7,o=256,r=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function s(t){return t<1e5?t<100?t<10?0:1:t<1e4?t<1e3?2:3:4:t<1e7?t<1e6?5:6:t<1e9?t<1e8?7:8:9}function a(t,e){if(t===e)return 0;if(~~t===t&&~~e===e){if(0===t||0===e)return t<e?-1:1;if(t<0||e<0){if(e>=0)return-1;if(t>=0)return 1;t=-t,e=-e}var i=s(t),n=s(e),o=0;return i<n?(t*=r[n-i-1],e/=10,o=-1):i>n&&(e*=r[i-n-1],t/=10,o=1),t===e?o:t<e?-1:1}var a=String(t),h=String(e);return a===h?0:a<h?-1:1}function h(t){for(var e=0;t>=i;)e|=1&t,t>>=1;return t+e}function l(t,e,i,n){var o=e+1;if(o===i)return 1;if(n(t[o++],t[e])<0){for(;o<i&&n(t[o],t[o-1])<0;)o++;d(t,e,o)}else for(;o<i&&n(t[o],t[o-1])>=0;)o++;return o-e}function d(t,e,i){for(i--;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}}function c(t,e,i,n,o){for(n===e&&n++;n<i;n++){for(var r=t[n],s=e,a=n;s<a;){var h=s+a>>>1;o(r,t[h])<0?a=h:s=h+1}var l=n-s;switch(l){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;l>0;)t[s+l]=t[s+l-1],l--}t[s]=r}}function u(t,e,i,n,o,r){var s=0,a=0,h=1;if(r(t,e[i+o])>0){for(a=n-o;h<a&&r(t,e[i+o+h])>0;)s=h,(h=1+(h<<1))<=0&&(h=a);h>a&&(h=a),s+=o,h+=o}else{for(a=o+1;h<a&&r(t,e[i+o-h])<=0;)s=h,(h=1+(h<<1))<=0&&(h=a);h>a&&(h=a);var l=s;s=o-h,h=o-l}for(s++;s<h;){var d=s+(h-s>>>1);r(t,e[i+d])>0?s=d+1:h=d}return h}function f(t,e,i,n,o,r){var s=0,a=0,h=1;if(r(t,e[i+o])<0){for(a=o+1;h<a&&r(t,e[i+o-h])<0;)s=h,(h=1+(h<<1))<=0&&(h=a);h>a&&(h=a);var l=s;s=o-h,h=o-l}else{for(a=n-o;h<a&&r(t,e[i+o+h])>=0;)s=h,(h=1+(h<<1))<=0&&(h=a);h>a&&(h=a),s+=o,h+=o}for(s++;s<h;){var d=s+(h-s>>>1);r(t,e[i+d])<0?h=d:s=d+1}return h}var p=function(){function t(i,r){e(this,t),this.array=null,this.compare=null,this.minGallop=n,this.length=0,this.tmpStorageLength=o,this.stackLength=0,this.runStart=null,this.runLength=null,this.stackSize=0,this.array=i,this.compare=r,this.length=i.length,this.length<2*o&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength)}return t.prototype.pushRun=function(t,e){this.runStart[this.stackSize]=t,this.runLength[this.stackSize]=e,this.stackSize+=1},t.prototype.mergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;if(t>=1&&this.runLength[t-1]<=this.runLength[t]+this.runLength[t+1]||t>=2&&this.runLength[t-2]<=this.runLength[t]+this.runLength[t-1])this.runLength[t-1]<this.runLength[t+1]&&t--;else if(this.runLength[t]>this.runLength[t+1])break;this.mergeAt(t)}},t.prototype.forceMergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;t>0&&this.runLength[t-1]<this.runLength[t+1]&&t--,this.mergeAt(t)}},t.prototype.mergeAt=function(t){var e=this.compare,i=this.array,n=this.runStart[t],o=this.runLength[t],r=this.runStart[t+1],s=this.runLength[t+1];this.runLength[t]=o+s,t===this.stackSize-3&&(this.runStart[t+1]=this.runStart[t+2],this.runLength[t+1]=this.runLength[t+2]),this.stackSize--;var a=f(i[r],i,n,o,0,e);n+=a,0!=(o-=a)&&0!==(s=u(i[n+o-1],i,r,s,s-1,e))&&(o<=s?this.mergeLow(n,o,r,s):this.mergeHigh(n,o,r,s))},t.prototype.mergeLow=function(t,e,i,o){var r=this.compare,s=this.array,a=this.tmp,h=0;for(h=0;h<e;h++)a[h]=s[t+h];var l=0,d=i,c=t;if(s[c++]=s[d++],0!=--o)if(1!==e){for(var p=this.minGallop;;){var v=0,g=0,y=!1;do{if(r(s[d],a[l])<0){if(s[c++]=s[d++],g++,v=0,0==--o){y=!0;break}}else if(s[c++]=a[l++],v++,g=0,1==--e){y=!0;break}}while((v|g)<p);if(y)break;do{if(0!==(v=f(s[d],a,l,e,0,r))){for(h=0;h<v;h++)s[c+h]=a[l+h];if(c+=v,l+=v,(e-=v)<=1){y=!0;break}}if(s[c++]=s[d++],0==--o){y=!0;break}if(0!==(g=u(a[l],s,d,o,0,r))){for(h=0;h<g;h++)s[c+h]=s[d+h];if(c+=g,d+=g,0==(o-=g)){y=!0;break}}if(s[c++]=a[l++],1==--e){y=!0;break}p--}while(v>=n||g>=n);if(y)break;p<0&&(p=0),p+=2}if(this.minGallop=p,p<1&&(this.minGallop=1),1===e){for(h=0;h<o;h++)s[c+h]=s[d+h];s[c+o]=a[l]}else{if(0===e)throw new Error(\"mergeLow preconditions were not respected\");for(h=0;h<e;h++)s[c+h]=a[l+h]}}else{for(h=0;h<o;h++)s[c+h]=s[d+h];s[c+o]=a[l]}else for(h=0;h<e;h++)s[c+h]=a[l+h]},t.prototype.mergeHigh=function(t,e,i,o){var r=this.compare,s=this.array,a=this.tmp,h=0;for(h=0;h<o;h++)a[h]=s[i+h];var l=t+e-1,d=o-1,c=i+o-1,p=0,v=0;if(s[c--]=s[l--],0!=--e)if(1!==o){for(var g=this.minGallop;;){var y=0,m=0,b=!1;do{if(r(a[d],s[l])<0){if(s[c--]=s[l--],y++,m=0,0==--e){b=!0;break}}else if(s[c--]=a[d--],m++,y=0,1==--o){b=!0;break}}while((y|m)<g);if(b)break;do{if(0!=(y=e-f(a[d],s,t,e,e-1,r))){for(e-=y,v=1+(c-=y),p=1+(l-=y),h=y-1;h>=0;h--)s[v+h]=s[p+h];if(0===e){b=!0;break}}if(s[c--]=a[d--],1==--o){b=!0;break}if(0!=(m=o-u(s[l],a,0,o,o-1,r))){for(o-=m,v=1+(c-=m),p=1+(d-=m),h=0;h<m;h++)s[v+h]=a[p+h];if(o<=1){b=!0;break}}if(s[c--]=s[l--],0==--e){b=!0;break}g--}while(y>=n||m>=n);if(b)break;g<0&&(g=0),g+=2}if(this.minGallop=g,g<1&&(this.minGallop=1),1===o){for(v=1+(c-=e),p=1+(l-=e),h=e-1;h>=0;h--)s[v+h]=s[p+h];s[c]=a[d]}else{if(0===o)throw new Error(\"mergeHigh preconditions were not respected\");for(p=c-(o-1),h=0;h<o;h++)s[p+h]=a[h]}}else{for(v=1+(c-=e),p=1+(l-=e),h=e-1;h>=0;h--)s[v+h]=s[p+h];s[c]=a[d]}else for(p=c-(o-1),h=0;h<o;h++)s[p+h]=a[h]},t}();function v(t,e,n,o){if(!Array.isArray(t))throw new TypeError(\"Can only sort arrays\");e?\"function\"!=typeof e&&(o=n,n=e,e=a):e=a,n||(n=0),o||(o=t.length);var r=o-n;if(!(r<2)){var s=0;if(r<i)c(t,n,o,n+(s=l(t,n,o,e)),e);else{var d=new p(t,e),u=h(r);do{if((s=l(t,n,o,e))<u){var f=r;f>u&&(f=u),c(t,n,n+f,n+s,e),s=f}d.pushRun(n,s),d.mergeRuns(),r-=s,n+=s}while(0!==r);d.forceMergeRuns()}}}}(t)}(WS);var qS=WS;function VS(t){var e=function(){if(\"undefined\"==typeof Reflect||!Mk)return!1;if(Mk.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Mk(Boolean,[],(function(){}))),!0}catch(t){return!1}}();return function(){var i,n=Ak(t);if(e){var o=Ak(this).constructor;i=Mk(n,arguments,o)}else i=n.apply(this,arguments);return Nk(this,i)}}var US=function(){function t(){Yd(this,t)}return Kd(t,[{key:\"abstract\",value:function(){throw new Error(\"Can't instantiate abstract class!\")}},{key:\"fake_use\",value:function(){}},{key:\"curveType\",value:function(){return this.abstract()}},{key:\"getPosition\",value:function(t){return this.fake_use(t),this.abstract()}},{key:\"setPosition\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;this.fake_use(t,e,i),this.abstract()}},{key:\"getTreeSize\",value:function(t){return this.fake_use(t),this.abstract()}},{key:\"sort\",value:function(t){this.fake_use(t),this.abstract()}},{key:\"fix\",value:function(t,e){this.fake_use(t,e),this.abstract()}},{key:\"shift\",value:function(t,e){this.fake_use(t,e),this.abstract()}}]),t}(),YS=function(t){zk(i,t);var e=VS(i);function i(t){var n;return Yd(this,i),(n=e.call(this)).layout=t,n}return Kd(i,[{key:\"curveType\",value:function(){return\"horizontal\"}},{key:\"getPosition\",value:function(t){return t.x}},{key:\"setPosition\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.x=e}},{key:\"getTreeSize\",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_x,max:e.max_x}}},{key:\"sort\",value:function(t){qS.sort(t,(function(t,e){return t.x-e.x}))}},{key:\"fix\",value:function(t,e){t.y=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.y=!0}},{key:\"shift\",value:function(t,e){this.layout.body.nodes[t].x+=e}}]),i}(US),XS=function(t){zk(i,t);var e=VS(i);function i(t){var n;return Yd(this,i),(n=e.call(this)).layout=t,n}return Kd(i,[{key:\"curveType\",value:function(){return\"vertical\"}},{key:\"getPosition\",value:function(t){return t.y}},{key:\"setPosition\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;void 0!==i&&this.layout.hierarchical.addToOrdering(t,i),t.y=e}},{key:\"getTreeSize\",value:function(t){var e=this.layout.hierarchical.getTreeSize(this.layout.body.nodes,t);return{min:e.min_y,max:e.max_y}}},{key:\"sort\",value:function(t){qS.sort(t,(function(t,e){return t.y-e.y}))}},{key:\"fix\",value:function(t,e){t.x=this.layout.options.hierarchical.levelSeparation*e,t.options.fixed.x=!0}},{key:\"shift\",value:function(t,e){this.layout.body.nodes[t].y+=e}}]),i}(US),GS=Wh.every;_i({target:\"Array\",proto:!0,forced:!Cu(\"every\")},{every:function(t){return GS(this,t,arguments.length>1?arguments[1]:void 0)}});var KS=Tn(\"Array\").every,$S=J,ZS=KS,QS=Array.prototype,JS=function(t){var e=t.every;return t===QS||$S(QS,t)&&e===QS.every?ZS:e},tT=JS;function eT(t,e){var i=void 0!==tu&&ih(t)||t[\"@@iterator\"];if(!i){if(lu(t)||(i=function(t,e){var i;if(!t)return;if(\"string\"==typeof t)return iT(t,e);var n=au(i=Object.prototype.toString.call(t)).call(i,8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return ja(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return iT(t,e)}(t))||e&&t&&\"number\"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function iT(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}function nT(t,e){var i=new b_;return Fu(t).call(t,(function(t){var e;Fu(e=t.edges).call(e,(function(t){t.connected&&i.add(t)}))})),Fu(i).call(i,(function(t){var i=t.from.id,n=t.to.id;null==e[i]&&(e[i]=0),(null==e[n]||e[i]>=e[n])&&(e[n]=e[i]+1)})),e}function oT(t,e,i,n){var o,r,s=Kp(null),a=i_(o=Jc(kx(n).call(n))).call(o,(function(t,e){return t+1+e.edges.length}),0),h=i+\"Id\",l=\"to\"===i?1:-1,d=eT(n);try{var c=function(){var o=Kc(r.value,2),d=o[0],c=o[1];if(!n.has(d)||!t(c))return\"continue\";s[d]=0;for(var u=[c],f=0,p=void 0,v=function(){var t,o;if(!n.has(d))return\"continue\";var r=s[p.id]+l;if(Fu(t=Xf(o=p.edges).call(o,(function(t){return t.connected&&t.to!==t.from&&t[i]!==p&&n.has(t.toId)&&n.has(t.fromId)}))).call(t,(function(t){var n=t[h],o=s[n];(null==o||e(r,o))&&(s[n]=r,u.push(t[i]))})),f>a)return{v:{v:nT(n,s)}};++f};p=u.pop();){var g=v();if(\"continue\"!==g&&\"object\"===Qc(g))return g.v}};for(d.s();!(r=d.n()).done;){var u=c();if(\"continue\"!==u&&\"object\"===Qc(u))return u.v}}catch(t){d.e(t)}finally{d.f()}return s}var rT=function(){function t(){Yd(this,t),this.childrenReference={},this.parentReference={},this.trees={},this.distributionOrdering={},this.levels={},this.distributionIndex={},this.isTree=!1,this.treeIndex=-1}return Kd(t,[{key:\"addRelation\",value:function(t,e){void 0===this.childrenReference[t]&&(this.childrenReference[t]=[]),this.childrenReference[t].push(e),void 0===this.parentReference[e]&&(this.parentReference[e]=[]),this.parentReference[e].push(t)}},{key:\"checkIfTree\",value:function(){for(var t in this.parentReference)if(this.parentReference[t].length>1)return void(this.isTree=!1);this.isTree=!0}},{key:\"numTrees\",value:function(){return this.treeIndex+1}},{key:\"setTreeIndex\",value:function(t,e){void 0!==e&&void 0===this.trees[t.id]&&(this.trees[t.id]=e,this.treeIndex=Math.max(e,this.treeIndex))}},{key:\"ensureLevel\",value:function(t){void 0===this.levels[t]&&(this.levels[t]=0)}},{key:\"getMaxLevel\",value:function(t){var e=this,i={};return function t(n){if(void 0!==i[n])return i[n];var o=e.levels[n];if(e.childrenReference[n]){var r=e.childrenReference[n];if(r.length>0)for(var s=0;s<r.length;s++)o=Math.max(o,t(r[s]))}return i[n]=o,o}(t)}},{key:\"levelDownstream\",value:function(t,e){void 0===this.levels[e.id]&&(void 0===this.levels[t.id]&&(this.levels[t.id]=0),this.levels[e.id]=this.levels[t.id]+1)}},{key:\"setMinLevelToZero\",value:function(t){var e=1e9;for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&void 0!==this.levels[i]&&(e=Math.min(this.levels[i],e));for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&void 0!==this.levels[n]&&(this.levels[n]-=e)}},{key:\"getTreeSize\",value:function(t,e){var i=1e9,n=-1e9,o=1e9,r=-1e9;for(var s in this.trees)if(Object.prototype.hasOwnProperty.call(this.trees,s)&&this.trees[s]===e){var a=t[s];i=Math.min(a.x,i),n=Math.max(a.x,n),o=Math.min(a.y,o),r=Math.max(a.y,r)}return{min_x:i,max_x:n,min_y:o,max_y:r}}},{key:\"hasSameParent\",value:function(t,e){var i=this.parentReference[t.id],n=this.parentReference[e.id];if(void 0===i||void 0===n)return!1;for(var o=0;o<i.length;o++)for(var r=0;r<n.length;r++)if(i[o]==n[r])return!0;return!1}},{key:\"inSameSubNetwork\",value:function(t,e){return this.trees[t.id]===this.trees[e.id]}},{key:\"getLevels\",value:function(){return bu(this.distributionOrdering)}},{key:\"addToOrdering\",value:function(t,e){void 0===this.distributionOrdering[e]&&(this.distributionOrdering[e]=[]);var i=!1,n=this.distributionOrdering[e];for(var o in n)if(n[o]===t){i=!0;break}i||(this.distributionOrdering[e].push(t),this.distributionIndex[t.id]=this.distributionOrdering[e].length-1)}}]),t}(),sT=function(){function t(e){Yd(this,t),this.body=e,this._resetRNG(Math.random()+\":\"+Eu()),this.setPhysics=!1,this.options={},this.optionsBackup={physics:{}},this.defaultOptions={randomSeed:void 0,improvedLayout:!0,clusterThreshold:150,hierarchical:{enabled:!1,levelSeparation:150,nodeSpacing:100,treeSpacing:200,blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:\"UD\",sortMethod:\"hubsize\"}},un(this.options,this.defaultOptions),this.bindEventListeners()}return Kd(t,[{key:\"bindEventListeners\",value:function(){var t=this;this.body.emitter.on(\"_dataChanged\",(function(){t.setupHierarchicalLayout()})),this.body.emitter.on(\"_dataLoaded\",(function(){t.layoutNetwork()})),this.body.emitter.on(\"_resetHierarchicalLayout\",(function(){t.setupHierarchicalLayout()})),this.body.emitter.on(\"_adjustEdgesForHierarchicalLayout\",(function(){if(!0===t.options.hierarchical.enabled){var e=t.direction.curveType();t.body.emitter.emit(\"_forceDisableDynamicCurves\",e,!1)}}))}},{key:\"setOptions\",value:function(t,e){if(void 0!==t){var i=this.options.hierarchical,n=i.enabled;if(em([\"randomSeed\",\"improvedLayout\",\"clusterThreshold\"],this.options,t),Sm(this.options,t,\"hierarchical\"),void 0!==t.randomSeed&&this._resetRNG(t.randomSeed),!0===i.enabled)return!0===n&&this.body.emitter.emit(\"refresh\",!0),\"RL\"===i.direction||\"DU\"===i.direction?i.levelSeparation>0&&(i.levelSeparation*=-1):i.levelSeparation<0&&(i.levelSeparation*=-1),this.setDirectionStrategy(),this.body.emitter.emit(\"_resetHierarchicalLayout\"),this.adaptAllOptionsForHierarchicalLayout(e);if(!0===n)return this.body.emitter.emit(\"refresh\"),nm(e,this.optionsBackup)}return e}},{key:\"_resetRNG\",value:function(t){this.initialRandomSeed=t,this._rng=jy(this.initialRandomSeed)}},{key:\"adaptAllOptionsForHierarchicalLayout\",value:function(t){if(!0===this.options.hierarchical.enabled){var e=this.optionsBackup.physics;void 0===t.physics||!0===t.physics?(t.physics={enabled:void 0===e.enabled||e.enabled,solver:\"hierarchicalRepulsion\"},e.enabled=void 0===e.enabled||e.enabled,e.solver=e.solver||\"barnesHut\"):\"object\"===Qc(t.physics)?(e.enabled=void 0===t.physics.enabled||t.physics.enabled,e.solver=t.physics.solver||\"barnesHut\",t.physics.solver=\"hierarchicalRepulsion\"):!1!==t.physics&&(e.solver=\"barnesHut\",t.physics={solver:\"hierarchicalRepulsion\"});var i=this.direction.curveType();if(void 0===t.edges)this.optionsBackup.edges={smooth:{enabled:!0,type:\"dynamic\"}},t.edges={smooth:!1};else if(void 0===t.edges.smooth)this.optionsBackup.edges={smooth:{enabled:!0,type:\"dynamic\"}},t.edges.smooth=!1;else if(\"boolean\"==typeof t.edges.smooth)this.optionsBackup.edges={smooth:t.edges.smooth},t.edges.smooth={enabled:t.edges.smooth,type:i};else{var n=t.edges.smooth;void 0!==n.type&&\"dynamic\"!==n.type&&(i=n.type),this.optionsBackup.edges={smooth:{enabled:void 0===n.enabled||n.enabled,type:void 0===n.type?\"dynamic\":n.type,roundness:void 0===n.roundness?.5:n.roundness,forceDirection:void 0!==n.forceDirection&&n.forceDirection}},t.edges.smooth={enabled:void 0===n.enabled||n.enabled,type:i,roundness:void 0===n.roundness?.5:n.roundness,forceDirection:void 0!==n.forceDirection&&n.forceDirection}}this.body.emitter.emit(\"_forceDisableDynamicCurves\",i)}return t}},{key:\"positionInitially\",value:function(t){if(!0!==this.options.hierarchical.enabled){this._resetRNG(this.initialRandomSeed);for(var e=t.length+50,i=0;i<t.length;i++){var n=t[i],o=2*Math.PI*this._rng();void 0===n.x&&(n.x=e*Math.cos(o)),void 0===n.y&&(n.y=e*Math.sin(o))}}}},{key:\"layoutNetwork\",value:function(){if(!0!==this.options.hierarchical.enabled&&!0===this.options.improvedLayout){for(var t=this.body.nodeIndices,e=0,i=0;i<t.length;i++){!0===this.body.nodes[t[i]].predefinedPosition&&(e+=1)}if(e<.5*t.length){var n=0,o=this.options.clusterThreshold,r={clusterNodeProperties:{shape:\"ellipse\",label:\"\",group:\"\",font:{multi:!1}},clusterEdgeProperties:{label:\"\",font:{multi:!1},smooth:{enabled:!1}}};if(t.length>o){for(var s=t.length;t.length>o&&n<=10;){n+=1;var a=t.length;if(n%3==0?this.body.modules.clustering.clusterBridges(r):this.body.modules.clustering.clusterOutliers(r),a==t.length&&n%3!=0)return this._declusterAll(),this.body.emitter.emit(\"_layoutFailed\"),void console.info(\"This network could not be positioned by this version of the improved layout algorithm. Please disable improvedLayout for better performance.\")}this.body.modules.kamadaKawai.setOptions({springLength:Math.max(150,2*s)})}n>10&&console.info(\"The clustering didn't succeed within the amount of interations allowed, progressing with partial result.\"),this.body.modules.kamadaKawai.solve(t,this.body.edgeIndices,!0),this._shiftToCenter();for(var h=0;h<t.length;h++){var l=this.body.nodes[t[h]];!1===l.predefinedPosition&&(l.x+=70*(.5-this._rng()),l.y+=70*(.5-this._rng()))}this._declusterAll(),this.body.emitter.emit(\"_repositionBezierNodes\")}}}},{key:\"_shiftToCenter\",value:function(){for(var t=EC.getRangeCore(this.body.nodes,this.body.nodeIndices),e=EC.findCenter(t),i=0;i<this.body.nodeIndices.length;i++){var n=this.body.nodes[this.body.nodeIndices[i]];n.x-=e.x,n.y-=e.y}}},{key:\"_declusterAll\",value:function(){for(var t=!0;!0===t;){t=!1;for(var e=0;e<this.body.nodeIndices.length;e++)!0===this.body.nodes[this.body.nodeIndices[e]].isCluster&&(t=!0,this.body.modules.clustering.openCluster(this.body.nodeIndices[e],{},!1));!0===t&&this.body.emitter.emit(\"_dataChanged\")}}},{key:\"getSeed\",value:function(){return this.initialRandomSeed}},{key:\"setupHierarchicalLayout\",value:function(){if(!0===this.options.hierarchical.enabled&&this.body.nodeIndices.length>0){var t,e,i=!1,n=!1;for(e in this.lastNodeOnLevel={},this.hierarchical=new rT,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,e)&&(void 0!==(t=this.body.nodes[e]).options.level?(i=!0,this.hierarchical.levels[e]=t.options.level):n=!0);if(!0===n&&!0===i)throw new Error(\"To use the hierarchical layout, nodes require either no predefined levels or levels have to be defined for all nodes.\");if(!0===n){var o=this.options.hierarchical.sortMethod;\"hubsize\"===o?this._determineLevelsByHubsize():\"directed\"===o?this._determineLevelsDirected():\"custom\"===o&&this._determineLevelsCustomCallback()}for(var r in this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,r)&&this.hierarchical.ensureLevel(r);var s=this._getDistribution();this._generateMap(),this._placeNodesByHierarchy(s),this._condenseHierarchy(),this._shiftToCenter()}}},{key:\"_condenseHierarchy\",value:function(){var t=this,e=!1,i={},n=function(e,i){var n=t.hierarchical.trees;for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&n[o]===e&&t.direction.shift(o,i)},o=function(){for(var e=[],i=0;i<t.hierarchical.numTrees();i++)e.push(t.direction.getTreeSize(i));return e},r=function e(i,n){if(!n[i.id]&&(n[i.id]=!0,t.hierarchical.childrenReference[i.id])){var o=t.hierarchical.childrenReference[i.id];if(o.length>0)for(var r=0;r<o.length;r++)e(t.body.nodes[o[r]],n)}},s=function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e9,n=1e9,o=1e9,r=1e9,s=-1e9;for(var a in e)if(Object.prototype.hasOwnProperty.call(e,a)){var h=t.body.nodes[a],l=t.hierarchical.levels[h.id],d=t.direction.getPosition(h),c=t._getSpaceAroundNode(h,e),u=Kc(c,2),f=u[0],p=u[1];n=Math.min(f,n),o=Math.min(p,o),l<=i&&(r=Math.min(d,r),s=Math.max(d,s))}return[r,s,n,o]},a=function(e,i){var n=t.hierarchical.getMaxLevel(e.id),o=t.hierarchical.getMaxLevel(i.id);return Math.min(n,o)},h=function(e,i,n){for(var o=t.hierarchical,r=0;r<i.length;r++){var s=i[r],a=o.distributionOrdering[s];if(a.length>1)for(var h=0;h<a.length-1;h++){var l=a[h],d=a[h+1];o.hasSameParent(l,d)&&o.inSameSubNetwork(l,d)&&e(l,d,n)}}},l=function(i,n){var o=arguments.length>2&&void 0!==arguments[2]&&arguments[2],h=t.direction.getPosition(i),l=t.direction.getPosition(n),d=Math.abs(l-h),c=t.options.hierarchical.nodeSpacing;if(d>c){var u={},f={};r(i,u),r(n,f);var p=a(i,n),v=s(u,p),g=s(f,p),y=v[1],m=g[0],b=g[2],w=Math.abs(y-m);if(w>c){var k=y-m+c;k<-b+c&&(k=-b+c),k<0&&(t._shiftBlock(n.id,k),e=!0,!0===o&&t._centerParent(n))}}},d=function(n,o){for(var a=o.id,h=o.edges,l=t.hierarchical.levels[o.id],d=t.options.hierarchical.levelSeparation*t.options.hierarchical.levelSeparation,c={},u=[],f=0;f<h.length;f++){var p=h[f];if(p.toId!=p.fromId){var v=p.toId==a?p.from:p.to;c[h[f].id]=v,t.hierarchical.levels[v.id]<l&&u.push(p)}}var g=function(e,i){for(var n=0,o=0;o<i.length;o++)if(void 0!==c[i[o].id]){var r=t.direction.getPosition(c[i[o].id])-e;n+=r/Math.sqrt(r*r+d)}return n},y=function(e,i){for(var n=0,o=0;o<i.length;o++)if(void 0!==c[i[o].id]){var r=t.direction.getPosition(c[i[o].id])-e;n-=d*Math.pow(r*r+d,-1.5)}return n},m=function(e,i){for(var n=t.direction.getPosition(o),r={},s=0;s<e;s++){var a=g(n,i),h=y(n,i);if(void 0!==r[n-=Math.max(-40,Math.min(40,Math.round(a/h)))])break;r[n]=s}return n},b=m(n,u);!function(n){var a=t.direction.getPosition(o);if(void 0===i[o.id]){var h={};r(o,h),i[o.id]=h}var l=s(i[o.id]),d=l[2],c=l[3],u=n-a,f=0;u>0?f=Math.min(u,c-t.options.hierarchical.nodeSpacing):u<0&&(f=-Math.min(-u,d-t.options.hierarchical.nodeSpacing)),0!=f&&(t._shiftBlock(o.id,f),e=!0)}(b),function(i){var n=t.direction.getPosition(o),r=Kc(t._getSpaceAroundNode(o),2),s=r[0],a=r[1],h=i-n,l=n;h>0?l=Math.min(n+(a-t.options.hierarchical.nodeSpacing),i):h<0&&(l=Math.max(n-(s-t.options.hierarchical.nodeSpacing),i)),l!==n&&(t.direction.setPosition(o,l),e=!0)}(b=m(n,h))};!0===this.options.hierarchical.blockShifting&&(function(i){var n=t.hierarchical.getLevels();n=Yu(n).call(n);for(var o=0;o<i&&(e=!1,h(l,n,!0),!0===e);o++);}(5),function(){for(var e in t.body.nodes)Object.prototype.hasOwnProperty.call(t.body.nodes,e)&&t._centerParent(t.body.nodes[e])}()),!0===this.options.hierarchical.edgeMinimization&&function(i){var n=t.hierarchical.getLevels();n=Yu(n).call(n);for(var o=0;o<i;o++){e=!1;for(var r=0;r<n.length;r++)for(var s=n[r],a=t.hierarchical.distributionOrdering[s],h=0;h<a.length;h++)d(1e3,a[h]);if(!0!==e)break}}(20),!0===this.options.hierarchical.parentCentralization&&function(){var e=t.hierarchical.getLevels();e=Yu(e).call(e);for(var i=0;i<e.length;i++)for(var n=e[i],o=t.hierarchical.distributionOrdering[n],r=0;r<o.length;r++)t._centerParent(o[r])}(),function(){for(var e=o(),i=0,r=0;r<e.length-1;r++){i+=e[r].max-e[r+1].min+t.options.hierarchical.treeSpacing,n(r+1,i)}}()}},{key:\"_getSpaceAroundNode\",value:function(t,e){var i=!0;void 0===e&&(i=!1);var n=this.hierarchical.levels[t.id];if(void 0!==n){var o=this.hierarchical.distributionIndex[t.id],r=this.direction.getPosition(t),s=this.hierarchical.distributionOrdering[n],a=1e9,h=1e9;if(0!==o){var l=s[o-1];if(!0===i&&void 0===e[l.id]||!1===i)a=r-this.direction.getPosition(l)}if(o!=s.length-1){var d=s[o+1];if(!0===i&&void 0===e[d.id]||!1===i){var c=this.direction.getPosition(d);h=Math.min(h,c-r)}}return[a,h]}return[0,0]}},{key:\"_centerParent\",value:function(t){if(this.hierarchical.parentReference[t.id])for(var e=this.hierarchical.parentReference[t.id],i=0;i<e.length;i++){var n=e[i],o=this.body.nodes[n],r=this.hierarchical.childrenReference[n];if(void 0!==r){var s=this._getCenterPosition(r),a=this.direction.getPosition(o),h=Kc(this._getSpaceAroundNode(o),2),l=h[0],d=h[1],c=a-s;(c<0&&Math.abs(c)<d-this.options.hierarchical.nodeSpacing||c>0&&Math.abs(c)<l-this.options.hierarchical.nodeSpacing)&&this.direction.setPosition(o,s)}}}},{key:\"_placeNodesByHierarchy\",value:function(t){for(var e in this.positionedNodes={},t)if(Object.prototype.hasOwnProperty.call(t,e)){var i,n=bu(t[e]);n=this._indexArrayToNodes(n),rx(i=this.direction).call(i,n);for(var o=0,r=0;r<n.length;r++){var s=n[r];if(void 0===this.positionedNodes[s.id]){var a=this.options.hierarchical.nodeSpacing,h=a*o;o>0&&(h=this.direction.getPosition(n[r-1])+a),this.direction.setPosition(s,h,e),this._validatePositionAndContinue(s,e,h),o++}}}}},{key:\"_placeBranchNodes\",value:function(t,e){var i,n=this.hierarchical.childrenReference[t];if(void 0!==n){for(var o=[],r=0;r<n.length;r++)o.push(this.body.nodes[n[r]]);rx(i=this.direction).call(i,o);for(var s=0;s<o.length;s++){var a=o[s],h=this.hierarchical.levels[a.id];if(!(h>e&&void 0===this.positionedNodes[a.id]))return;var l=this.options.hierarchical.nodeSpacing,d=void 0;d=0===s?this.direction.getPosition(this.body.nodes[t]):this.direction.getPosition(o[s-1])+l,this.direction.setPosition(a,d,h),this._validatePositionAndContinue(a,h,d)}var c=this._getCenterPosition(o);this.direction.setPosition(this.body.nodes[t],c,e)}}},{key:\"_validatePositionAndContinue\",value:function(t,e,i){if(this.hierarchical.isTree){if(void 0!==this.lastNodeOnLevel[e]){var n=this.direction.getPosition(this.body.nodes[this.lastNodeOnLevel[e]]);if(i-n<this.options.hierarchical.nodeSpacing){var o=n+this.options.hierarchical.nodeSpacing-i,r=this._findCommonParent(this.lastNodeOnLevel[e],t.id);this._shiftBlock(r.withChild,o)}}this.lastNodeOnLevel[e]=t.id,this.positionedNodes[t.id]=!0,this._placeBranchNodes(t.id,e)}}},{key:\"_indexArrayToNodes\",value:function(t){for(var e=[],i=0;i<t.length;i++)e.push(this.body.nodes[t[i]]);return e}},{key:\"_getDistribution\",value:function(){var t,e,i={};for(t in this.body.nodes)if(Object.prototype.hasOwnProperty.call(this.body.nodes,t)){e=this.body.nodes[t];var n=void 0===this.hierarchical.levels[t]?0:this.hierarchical.levels[t];this.direction.fix(e,n),void 0===i[n]&&(i[n]={}),i[n][t]=e}return i}},{key:\"_getActiveEdges\",value:function(t){var e=this,i=[];return hm(t.edges,(function(t){var n;-1!==Fp(n=e.body.edgeIndices).call(n,t.id)&&i.push(t)})),i}},{key:\"_getHubSizes\",value:function(){var t=this,e={};hm(this.body.nodeIndices,(function(i){var n=t.body.nodes[i],o=t._getActiveEdges(n).length;e[o]=!0}));var i=[];return hm(e,(function(t){i.push(Number(t))})),rx(qS).call(qS,i,(function(t,e){return e-t})),i}},{key:\"_determineLevelsByHubsize\",value:function(){for(var t=this,e=function(e,i){t.hierarchical.levelDownstream(e,i)},i=this._getHubSizes(),n=function(n){var o=i[n];if(0===o)return\"break\";hm(t.body.nodeIndices,(function(i){var n=t.body.nodes[i];o===t._getActiveEdges(n).length&&t._crawlNetwork(e,i)}))},o=0;o<i.length;++o){if(\"break\"===n(o))break}}},{key:\"_determineLevelsCustomCallback\",value:function(){var t=this;this._crawlNetwork((function(e,i,n){var o=t.hierarchical.levels[e.id];void 0===o&&(o=t.hierarchical.levels[e.id]=1e5);var r=(EC.cloneOptions(e,\"node\"),EC.cloneOptions(i,\"node\"),void EC.cloneOptions(n,\"edge\"));t.hierarchical.levels[i.id]=o+r})),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:\"_determineLevelsDirected\",value:function(){var t,e=this,i=i_(t=this.body.nodeIndices).call(t,(function(t,i){return t.set(i,e.body.nodes[i]),t}),new Jw);\"roots\"===this.options.hierarchical.shakeTowards?this.hierarchical.levels=function(t){return oT((function(e){var i,n;return tT(i=Xf(n=e.edges).call(n,(function(e){return t.has(e.toId)}))).call(i,(function(t){return t.from===e}))}),(function(t,e){return e<t}),\"to\",t)}(i):this.hierarchical.levels=function(t){return oT((function(e){var i,n;return tT(i=Xf(n=e.edges).call(n,(function(e){return t.has(e.toId)}))).call(i,(function(t){return t.to===e}))}),(function(t,e){return e>t}),\"from\",t)}(i),this.hierarchical.setMinLevelToZero(this.body.nodes)}},{key:\"_generateMap\",value:function(){var t=this;this._crawlNetwork((function(e,i){t.hierarchical.levels[i.id]>t.hierarchical.levels[e.id]&&t.hierarchical.addRelation(e.id,i.id)})),this.hierarchical.checkIfTree()}},{key:\"_crawlNetwork\",value:function(){var t=this,e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:function(){},i=arguments.length>1?arguments[1]:void 0,n={},o=function i(o,r){if(void 0===n[o.id]){var s;t.hierarchical.setTreeIndex(o,r),n[o.id]=!0;for(var a=t._getActiveEdges(o),h=0;h<a.length;h++){var l=a[h];!0===l.connected&&(s=l.toId==o.id?l.from:l.to,o.id!=s.id&&(e(o,s,l),i(s,r)))}}};if(void 0===i)for(var r=0,s=0;s<this.body.nodeIndices.length;s++){var a=this.body.nodeIndices[s];if(void 0===n[a]){var h=this.body.nodes[a];o(h,r),r+=1}}else{var l=this.body.nodes[i];if(void 0===l)return void console.error(\"Node not found:\",i);o(l)}}},{key:\"_shiftBlock\",value:function(t,e){var i=this,n={};!function t(o){if(!n[o]){n[o]=!0,i.direction.shift(o,e);var r=i.hierarchical.childrenReference[o];if(void 0!==r)for(var s=0;s<r.length;s++)t(r[s])}}(t)}},{key:\"_findCommonParent\",value:function(t,e){var i=this,n={};return function t(e,n){var o=i.hierarchical.parentReference[n];if(void 0!==o)for(var r=0;r<o.length;r++){var s=o[r];e[s]=!0,t(e,s)}}(n,t),function t(e,n){var o=i.hierarchical.parentReference[n];if(void 0!==o)for(var r=0;r<o.length;r++){var s=o[r];if(void 0!==e[s])return{foundParent:s,withChild:n};var a=t(e,s);if(null!==a.foundParent)return a}return{foundParent:null,withChild:n}}(n,e)}},{key:\"setDirectionStrategy\",value:function(){var t=\"UD\"===this.options.hierarchical.direction||\"DU\"===this.options.hierarchical.direction;this.direction=t?new YS(this):new XS(this)}},{key:\"_getCenterPosition\",value:function(t){for(var e=1e9,i=-1e9,n=0;n<t.length;n++){var o=void 0;if(void 0!==t[n].id)o=t[n];else{var r=t[n];o=this.body.nodes[r]}var s=this.direction.getPosition(o);e=Math.min(e,s),i=Math.max(i,s)}return.5*(e+i)}}]),t}();function aT(t,e){var i=void 0!==tu&&ih(t)||t[\"@@iterator\"];if(!i){if(lu(t)||(i=function(t,e){var i;if(!t)return;if(\"string\"==typeof t)return hT(t,e);var n=au(i=Object.prototype.toString.call(t)).call(i,8,-1);\"Object\"===n&&t.constructor&&(n=t.constructor.name);if(\"Map\"===n||\"Set\"===n)return ja(t);if(\"Arguments\"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return hT(t,e)}(t))||e&&t&&\"number\"==typeof t.length){i&&(t=i);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}var r,s=!0,a=!1;return{s:function(){i=i.call(t)},n:function(){var t=i.next();return s=t.done,t},e:function(t){a=!0,r=t},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function hT(t,e){(null==e||e>t.length)&&(e=t.length);for(var i=0,n=new Array(e);i<e;i++)n[i]=t[i];return n}var lT=function(){function t(e,i,n,o){var r,s,a=this;Yd(this,t),this.body=e,this.canvas=i,this.selectionHandler=n,this.interactionHandler=o,this.editMode=!1,this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0,this._domEventListenerCleanupQueue=[],this.temporaryUIFunctions={},this.temporaryEventFunctions=[],this.touchTime=0,this.temporaryIds={nodes:[],edges:[]},this.guiEnabled=!1,this.inMode=!1,this.selectedControlNode=void 0,this.options={},this.defaultOptions={enabled:!1,initiallyActive:!1,addNode:!0,addEdge:!0,editNode:void 0,editEdge:!0,deleteNode:!0,deleteEdge:!0,controlNodeStyle:{shape:\"dot\",size:6,color:{background:\"#ff0000\",border:\"#3c3c3c\",highlight:{background:\"#07f968\",border:\"#3c3c3c\"}},borderWidth:2,borderWidthSelected:2}},un(this.options,this.defaultOptions),this.body.emitter.on(\"destroy\",(function(){a._clean()})),this.body.emitter.on(\"_dataChanged\",zn(r=this._restore).call(r,this)),this.body.emitter.on(\"_resetData\",zn(s=this._restore).call(s,this))}return Kd(t,[{key:\"_restore\",value:function(){!1!==this.inMode&&(!0===this.options.initiallyActive?this.enableEditMode():this.disableEditMode())}},{key:\"setOptions\",value:function(t,e,i){void 0!==e&&(void 0!==e.locale?this.options.locale=e.locale:this.options.locale=i.locale,void 0!==e.locales?this.options.locales=e.locales:this.options.locales=i.locales),void 0!==t&&(\"boolean\"==typeof t?this.options.enabled=t:(this.options.enabled=!0,nm(this.options,t)),!0===this.options.initiallyActive&&(this.editMode=!0),this._setup())}},{key:\"toggleEditMode\",value:function(){!0===this.editMode?this.disableEditMode():this.enableEditMode()}},{key:\"enableEditMode\",value:function(){this.editMode=!0,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display=\"block\",this.closeDiv.style.display=\"block\",this.editModeDiv.style.display=\"none\",this.showManipulatorToolbar())}},{key:\"disableEditMode\",value:function(){this.editMode=!1,this._clean(),!0===this.guiEnabled&&(this.manipulationDiv.style.display=\"none\",this.closeDiv.style.display=\"none\",this.editModeDiv.style.display=\"block\",this._createEditButton())}},{key:\"showManipulatorToolbar\",value:function(){if(this._clean(),this.manipulationDOM={},!0===this.guiEnabled){var t,e;this.editMode=!0,this.manipulationDiv.style.display=\"block\",this.closeDiv.style.display=\"block\";var i=this.selectionHandler.getSelectedNodeCount(),n=this.selectionHandler.getSelectedEdgeCount(),o=i+n,r=this.options.locales[this.options.locale],s=!1;!1!==this.options.addNode&&(this._createAddNodeButton(r),s=!0),!1!==this.options.addEdge&&(!0===s?this._createSeperator(1):s=!0,this._createAddEdgeButton(r)),1===i&&\"function\"==typeof this.options.editNode?(!0===s?this._createSeperator(2):s=!0,this._createEditNodeButton(r)):1===n&&0===i&&!1!==this.options.editEdge&&(!0===s?this._createSeperator(3):s=!0,this._createEditEdgeButton(r)),0!==o&&(i>0&&!1!==this.options.deleteNode||0===i&&!1!==this.options.deleteEdge)&&(!0===s&&this._createSeperator(4),this._createDeleteButton(r)),this._bindElementEvents(this.closeDiv,zn(t=this.toggleEditMode).call(t,this)),this._temporaryBindEvent(\"select\",zn(e=this.showManipulatorToolbar).call(e,this))}this.body.emitter.emit(\"_redraw\")}},{key:\"addNodeMode\",value:function(){var t;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode=\"addNode\",!0===this.guiEnabled){var e,i=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(i),this._createSeperator(),this._createDescription(i.addDescription||this.options.locales.en.addDescription),this._bindElementEvents(this.closeDiv,zn(e=this.toggleEditMode).call(e,this))}this._temporaryBindEvent(\"click\",zn(t=this._performAddNode).call(t,this))}},{key:\"editNode\",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean();var e=this.selectionHandler.getSelectedNodes()[0];if(void 0!==e){if(this.inMode=\"editNode\",\"function\"!=typeof this.options.editNode)throw new Error(\"No function has been configured to handle the editing of nodes.\");if(!0!==e.isCluster){var i=nm({},e.options,!1);if(i.x=e.x,i.y=e.y,2!==this.options.editNode.length)throw new Error(\"The function for edit does not support two arguments (data, callback)\");this.options.editNode(i,(function(e){null!=e&&\"editNode\"===t.inMode&&t.body.data.nodes.getDataSet().update(e),t.showManipulatorToolbar()}))}else alert(this.options.locales[this.options.locale].editClusterError||this.options.locales.en.editClusterError)}else this.showManipulatorToolbar()}},{key:\"addEdgeMode\",value:function(){var t,e,i,n,o;if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode=\"addEdge\",!0===this.guiEnabled){var r,s=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(s),this._createSeperator(),this._createDescription(s.edgeDescription||this.options.locales.en.edgeDescription),this._bindElementEvents(this.closeDiv,zn(r=this.toggleEditMode).call(r,this))}this._temporaryBindUI(\"onTouch\",zn(t=this._handleConnect).call(t,this)),this._temporaryBindUI(\"onDragEnd\",zn(e=this._finishConnect).call(e,this)),this._temporaryBindUI(\"onDrag\",zn(i=this._dragControlNode).call(i,this)),this._temporaryBindUI(\"onRelease\",zn(n=this._finishConnect).call(n,this)),this._temporaryBindUI(\"onDragStart\",zn(o=this._dragStartEdge).call(o,this)),this._temporaryBindUI(\"onHold\",(function(){}))}},{key:\"editEdgeMode\",value:function(){if(!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode=\"editEdge\",\"object\"!==Qc(this.options.editEdge)||\"function\"!=typeof this.options.editEdge.editWithoutDrag||(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],void 0===this.edgeBeingEditedId)){if(!0===this.guiEnabled){var t,e=this.options.locales[this.options.locale];this.manipulationDOM={},this._createBackButton(e),this._createSeperator(),this._createDescription(e.editEdgeDescription||this.options.locales.en.editEdgeDescription),this._bindElementEvents(this.closeDiv,zn(t=this.toggleEditMode).call(t,this))}if(this.edgeBeingEditedId=this.selectionHandler.getSelectedEdgeIds()[0],void 0!==this.edgeBeingEditedId){var i,n,o,r,s=this.body.edges[this.edgeBeingEditedId],a=this._getNewTargetNode(s.from.x,s.from.y),h=this._getNewTargetNode(s.to.x,s.to.y);this.temporaryIds.nodes.push(a.id),this.temporaryIds.nodes.push(h.id),this.body.nodes[a.id]=a,this.body.nodeIndices.push(a.id),this.body.nodes[h.id]=h,this.body.nodeIndices.push(h.id),this._temporaryBindUI(\"onTouch\",zn(i=this._controlNodeTouch).call(i,this)),this._temporaryBindUI(\"onTap\",(function(){})),this._temporaryBindUI(\"onHold\",(function(){})),this._temporaryBindUI(\"onDragStart\",zn(n=this._controlNodeDragStart).call(n,this)),this._temporaryBindUI(\"onDrag\",zn(o=this._controlNodeDrag).call(o,this)),this._temporaryBindUI(\"onDragEnd\",zn(r=this._controlNodeDragEnd).call(r,this)),this._temporaryBindUI(\"onMouseMove\",(function(){})),this._temporaryBindEvent(\"beforeDrawing\",(function(t){var e=s.edgeType.findBorderPositions(t);!1===a.selected&&(a.x=e.from.x,a.y=e.from.y),!1===h.selected&&(h.x=e.to.x,h.y=e.to.y)})),this.body.emitter.emit(\"_redraw\")}else this.showManipulatorToolbar()}else{var l=this.body.edges[this.edgeBeingEditedId];this._performEditEdge(l.from.id,l.to.id)}}},{key:\"deleteSelected\",value:function(){var t=this;!0!==this.editMode&&this.enableEditMode(),this._clean(),this.inMode=\"delete\";var e=this.selectionHandler.getSelectedNodeIds(),i=this.selectionHandler.getSelectedEdgeIds(),n=void 0;if(e.length>0){for(var o=0;o<e.length;o++)if(!0===this.body.nodes[e[o]].isCluster)return void alert(this.options.locales[this.options.locale].deleteClusterError||this.options.locales.en.deleteClusterError);\"function\"==typeof this.options.deleteNode&&(n=this.options.deleteNode)}else i.length>0&&\"function\"==typeof this.options.deleteEdge&&(n=this.options.deleteEdge);if(\"function\"==typeof n){var r={nodes:e,edges:i};if(2!==n.length)throw new Error(\"The function for delete does not support two arguments (data, callback)\");n(r,(function(e){null!=e&&\"delete\"===t.inMode?(t.body.data.edges.getDataSet().remove(e.edges),t.body.data.nodes.getDataSet().remove(e.nodes),t.body.emitter.emit(\"startSimulation\"),t.showManipulatorToolbar()):(t.body.emitter.emit(\"startSimulation\"),t.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().remove(i),this.body.data.nodes.getDataSet().remove(e),this.body.emitter.emit(\"startSimulation\"),this.showManipulatorToolbar()}},{key:\"_setup\",value:function(){!0===this.options.enabled?(this.guiEnabled=!0,this._createWrappers(),!1===this.editMode?this._createEditButton():this.showManipulatorToolbar()):(this._removeManipulationDOM(),this.guiEnabled=!1)}},{key:\"_createWrappers\",value:function(){var t,e;(void 0===this.manipulationDiv&&(this.manipulationDiv=document.createElement(\"div\"),this.manipulationDiv.className=\"vis-manipulation\",!0===this.editMode?this.manipulationDiv.style.display=\"block\":this.manipulationDiv.style.display=\"none\",this.canvas.frame.appendChild(this.manipulationDiv)),void 0===this.editModeDiv&&(this.editModeDiv=document.createElement(\"div\"),this.editModeDiv.className=\"vis-edit-mode\",!0===this.editMode?this.editModeDiv.style.display=\"none\":this.editModeDiv.style.display=\"block\",this.canvas.frame.appendChild(this.editModeDiv)),void 0===this.closeDiv)&&(this.closeDiv=document.createElement(\"button\"),this.closeDiv.className=\"vis-close\",this.closeDiv.setAttribute(\"aria-label\",null!==(t=null===(e=this.options.locales[this.options.locale])||void 0===e?void 0:e.close)&&void 0!==t?t:this.options.locales.en.close),this.closeDiv.style.display=this.manipulationDiv.style.display,this.canvas.frame.appendChild(this.closeDiv))}},{key:\"_getNewTargetNode\",value:function(t,e){var i=nm({},this.options.controlNodeStyle);i.id=\"targetNode\"+Ax(),i.hidden=!1,i.physics=!1,i.x=t,i.y=e;var n=this.body.functions.createNode(i);return n.shape.boundingBox={left:t,right:t,top:e,bottom:e},n}},{key:\"_createEditButton\",value:function(){var t;this._clean(),this.manipulationDOM={},Ky(this.editModeDiv);var e=this.options.locales[this.options.locale],i=this._createButton(\"editMode\",\"vis-edit vis-edit-mode\",e.edit||this.options.locales.en.edit);this.editModeDiv.appendChild(i),this._bindElementEvents(i,zn(t=this.toggleEditMode).call(t,this))}},{key:\"_clean\",value:function(){this.inMode=!1,!0===this.guiEnabled&&(Ky(this.editModeDiv),Ky(this.manipulationDiv),this._cleanupDOMEventListeners()),this._cleanupTemporaryNodesAndEdges(),this._unbindTemporaryUIs(),this._unbindTemporaryEvents(),this.body.emitter.emit(\"restorePhysics\")}},{key:\"_cleanupDOMEventListeners\",value:function(){var t,e,i=aT(ff(t=this._domEventListenerCleanupQueue).call(t,0));try{for(i.s();!(e=i.n()).done;){(0,e.value)()}}catch(t){i.e(t)}finally{i.f()}}},{key:\"_removeManipulationDOM\",value:function(){this._clean(),Ky(this.manipulationDiv),Ky(this.editModeDiv),Ky(this.closeDiv),this.manipulationDiv&&this.canvas.frame.removeChild(this.manipulationDiv),this.editModeDiv&&this.canvas.frame.removeChild(this.editModeDiv),this.closeDiv&&this.canvas.frame.removeChild(this.closeDiv),this.manipulationDiv=void 0,this.editModeDiv=void 0,this.closeDiv=void 0}},{key:\"_createSeperator\",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.manipulationDOM[\"seperatorLineDiv\"+t]=document.createElement(\"div\"),this.manipulationDOM[\"seperatorLineDiv\"+t].className=\"vis-separator-line\",this.manipulationDiv.appendChild(this.manipulationDOM[\"seperatorLineDiv\"+t])}},{key:\"_createAddNodeButton\",value:function(t){var e,i=this._createButton(\"addNode\",\"vis-add\",t.addNode||this.options.locales.en.addNode);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,zn(e=this.addNodeMode).call(e,this))}},{key:\"_createAddEdgeButton\",value:function(t){var e,i=this._createButton(\"addEdge\",\"vis-connect\",t.addEdge||this.options.locales.en.addEdge);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,zn(e=this.addEdgeMode).call(e,this))}},{key:\"_createEditNodeButton\",value:function(t){var e,i=this._createButton(\"editNode\",\"vis-edit\",t.editNode||this.options.locales.en.editNode);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,zn(e=this.editNode).call(e,this))}},{key:\"_createEditEdgeButton\",value:function(t){var e,i=this._createButton(\"editEdge\",\"vis-edit\",t.editEdge||this.options.locales.en.editEdge);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,zn(e=this.editEdgeMode).call(e,this))}},{key:\"_createDeleteButton\",value:function(t){var e,i;i=this.options.rtl?\"vis-delete-rtl\":\"vis-delete\";var n=this._createButton(\"delete\",i,t.del||this.options.locales.en.del);this.manipulationDiv.appendChild(n),this._bindElementEvents(n,zn(e=this.deleteSelected).call(e,this))}},{key:\"_createBackButton\",value:function(t){var e,i=this._createButton(\"back\",\"vis-back\",t.back||this.options.locales.en.back);this.manipulationDiv.appendChild(i),this._bindElementEvents(i,zn(e=this.showManipulatorToolbar).call(e,this))}},{key:\"_createButton\",value:function(t,e,i){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:\"vis-label\";return this.manipulationDOM[t+\"Div\"]=document.createElement(\"button\"),this.manipulationDOM[t+\"Div\"].className=\"vis-button \"+e,this.manipulationDOM[t+\"Label\"]=document.createElement(\"div\"),this.manipulationDOM[t+\"Label\"].className=n,this.manipulationDOM[t+\"Label\"].innerText=i,this.manipulationDOM[t+\"Div\"].appendChild(this.manipulationDOM[t+\"Label\"]),this.manipulationDOM[t+\"Div\"]}},{key:\"_createDescription\",value:function(t){this.manipulationDOM.descriptionLabel=document.createElement(\"div\"),this.manipulationDOM.descriptionLabel.className=\"vis-none\",this.manipulationDOM.descriptionLabel.innerText=t,this.manipulationDiv.appendChild(this.manipulationDOM.descriptionLabel)}},{key:\"_temporaryBindEvent\",value:function(t,e){this.temporaryEventFunctions.push({event:t,boundFunction:e}),this.body.emitter.on(t,e)}},{key:\"_temporaryBindUI\",value:function(t,e){if(void 0===this.body.eventListeners[t])throw new Error(\"This UI function does not exist. Typo? You tried: \"+t+\" possible are: \"+gv(bu(this.body.eventListeners)));this.temporaryUIFunctions[t]=this.body.eventListeners[t],this.body.eventListeners[t]=e}},{key:\"_unbindTemporaryUIs\",value:function(){for(var t in this.temporaryUIFunctions)Object.prototype.hasOwnProperty.call(this.temporaryUIFunctions,t)&&(this.body.eventListeners[t]=this.temporaryUIFunctions[t],delete this.temporaryUIFunctions[t]);this.temporaryUIFunctions={}}},{key:\"_unbindTemporaryEvents\",value:function(){for(var t=0;t<this.temporaryEventFunctions.length;t++){var e=this.temporaryEventFunctions[t].event,i=this.temporaryEventFunctions[t].boundFunction;this.body.emitter.off(e,i)}this.temporaryEventFunctions=[]}},{key:\"_bindElementEvents\",value:function(t,e){var i=new Wm(t,{});IC(i,e),this._domEventListenerCleanupQueue.push((function(){i.destroy()}));var n=function(t){var i=t.keyCode,n=t.key;\"Enter\"!==n&&\" \"!==n&&13!==i&&32!==i||e()};t.addEventListener(\"keyup\",n,!1),this._domEventListenerCleanupQueue.push((function(){t.removeEventListener(\"keyup\",n,!1)}))}},{key:\"_cleanupTemporaryNodesAndEdges\",value:function(){for(var t=0;t<this.temporaryIds.edges.length;t++){var e;this.body.edges[this.temporaryIds.edges[t]].disconnect(),delete this.body.edges[this.temporaryIds.edges[t]];var i,n=Fp(e=this.body.edgeIndices).call(e,this.temporaryIds.edges[t]);if(-1!==n)ff(i=this.body.edgeIndices).call(i,n,1)}for(var o=0;o<this.temporaryIds.nodes.length;o++){var r;delete this.body.nodes[this.temporaryIds.nodes[o]];var s,a=Fp(r=this.body.nodeIndices).call(r,this.temporaryIds.nodes[o]);if(-1!==a)ff(s=this.body.nodeIndices).call(s,a,1)}this.temporaryIds={nodes:[],edges:[]}}},{key:\"_controlNodeTouch\",value:function(t){this.selectionHandler.unselectAll(),this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=un({},this.body.view.translation)}},{key:\"_controlNodeDragStart\",value:function(){var t=this.lastTouch,e=this.selectionHandler._pointerToPositionObject(t),i=this.body.nodes[this.temporaryIds.nodes[0]],n=this.body.nodes[this.temporaryIds.nodes[1]],o=this.body.edges[this.edgeBeingEditedId];this.selectedControlNode=void 0;var r=i.isOverlappingWith(e),s=n.isOverlappingWith(e);!0===r?(this.selectedControlNode=i,o.edgeType.from=i):!0===s&&(this.selectedControlNode=n,o.edgeType.to=n),void 0!==this.selectedControlNode&&this.selectionHandler.selectObject(this.selectedControlNode),this.body.emitter.emit(\"_redraw\")}},{key:\"_controlNodeDrag\",value:function(t){this.body.emitter.emit(\"disablePhysics\");var e=this.body.functions.getPointer(t.center),i=this.canvas.DOMtoCanvas(e);void 0!==this.selectedControlNode?(this.selectedControlNode.x=i.x,this.selectedControlNode.y=i.y):this.interactionHandler.onDrag(t),this.body.emitter.emit(\"_redraw\")}},{key:\"_controlNodeDragEnd\",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),n=this.body.edges[this.edgeBeingEditedId];if(void 0!==this.selectedControlNode){this.selectionHandler.unselectAll();for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=o.length-1;s>=0;s--)if(o[s]!==this.selectedControlNode.id){r=this.body.nodes[o[s]];break}if(void 0!==r&&void 0!==this.selectedControlNode)if(!0===r.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var a=this.body.nodes[this.temporaryIds.nodes[0]];this.selectedControlNode.id===a.id?this._performEditEdge(r.id,n.to.id):this._performEditEdge(n.from.id,r.id)}else n.updateEdgeType(),this.body.emitter.emit(\"restorePhysics\");this.body.emitter.emit(\"_redraw\")}}},{key:\"_handleConnect\",value:function(t){if((new Date).valueOf()-this.touchTime>100){this.lastTouch=this.body.functions.getPointer(t.center),this.lastTouch.translation=un({},this.body.view.translation),this.interactionHandler.drag.pointer=this.lastTouch,this.interactionHandler.drag.translation=this.lastTouch.translation;var e=this.lastTouch,i=this.selectionHandler.getNodeAt(e);if(void 0!==i)if(!0===i.isCluster)alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError);else{var n=this._getNewTargetNode(i.x,i.y);this.body.nodes[n.id]=n,this.body.nodeIndices.push(n.id);var o=this.body.functions.createEdge({id:\"connectionEdge\"+Ax(),from:i.id,to:n.id,physics:!1,smooth:{enabled:!0,type:\"continuous\",roundness:.5}});this.body.edges[o.id]=o,this.body.edgeIndices.push(o.id),this.temporaryIds.nodes.push(n.id),this.temporaryIds.edges.push(o.id)}this.touchTime=(new Date).valueOf()}}},{key:\"_dragControlNode\",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),n=void 0;void 0!==this.temporaryIds.edges[0]&&(n=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=o.length-1;s>=0;s--){var a;if(-1===Fp(a=this.temporaryIds.nodes).call(a,o[s])){r=this.body.nodes[o[s]];break}}if(t.controlEdge={from:n,to:r?r.id:void 0},this.selectionHandler.generateClickEvent(\"controlNodeDragging\",t,e),void 0!==this.temporaryIds.nodes[0]){var h=this.body.nodes[this.temporaryIds.nodes[0]];h.x=this.canvas._XconvertDOMtoCanvas(e.x),h.y=this.canvas._YconvertDOMtoCanvas(e.y),this.body.emitter.emit(\"_redraw\")}else this.interactionHandler.onDrag(t)}},{key:\"_finishConnect\",value:function(t){var e=this.body.functions.getPointer(t.center),i=this.selectionHandler._pointerToPositionObject(e),n=void 0;void 0!==this.temporaryIds.edges[0]&&(n=this.body.edges[this.temporaryIds.edges[0]].fromId);for(var o=this.selectionHandler._getAllNodesOverlappingWith(i),r=void 0,s=o.length-1;s>=0;s--){var a;if(-1===Fp(a=this.temporaryIds.nodes).call(a,o[s])){r=this.body.nodes[o[s]];break}}this._cleanupTemporaryNodesAndEdges(),void 0!==r&&(!0===r.isCluster?alert(this.options.locales[this.options.locale].createEdgeError||this.options.locales.en.createEdgeError):void 0!==this.body.nodes[n]&&void 0!==this.body.nodes[r.id]&&this._performAddEdge(n,r.id)),t.controlEdge={from:n,to:r?r.id:void 0},this.selectionHandler.generateClickEvent(\"controlNodeDragEnd\",t,e),this.body.emitter.emit(\"_redraw\")}},{key:\"_dragStartEdge\",value:function(t){var e=this.lastTouch;this.selectionHandler.generateClickEvent(\"dragStart\",t,e,void 0,!0)}},{key:\"_performAddNode\",value:function(t){var e=this,i={id:Ax(),x:t.pointer.canvas.x,y:t.pointer.canvas.y,label:\"new\"};if(\"function\"==typeof this.options.addNode){if(2!==this.options.addNode.length)throw this.showManipulatorToolbar(),new Error(\"The function for add does not support two arguments (data,callback)\");this.options.addNode(i,(function(t){null!=t&&\"addNode\"===e.inMode&&e.body.data.nodes.getDataSet().add(t),e.showManipulatorToolbar()}))}else this.body.data.nodes.getDataSet().add(i),this.showManipulatorToolbar()}},{key:\"_performAddEdge\",value:function(t,e){var i=this,n={from:t,to:e};if(\"function\"==typeof this.options.addEdge){if(2!==this.options.addEdge.length)throw new Error(\"The function for connect does not support two arguments (data,callback)\");this.options.addEdge(n,(function(t){null!=t&&\"addEdge\"===i.inMode&&(i.body.data.edges.getDataSet().add(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().add(n),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}},{key:\"_performEditEdge\",value:function(t,e){var i=this,n={id:this.edgeBeingEditedId,from:t,to:e,label:this.body.data.edges.get(this.edgeBeingEditedId).label},o=this.options.editEdge;if(\"object\"===Qc(o)&&(o=o.editWithoutDrag),\"function\"==typeof o){if(2!==o.length)throw new Error(\"The function for edit does not support two arguments (data, callback)\");o(n,(function(t){null==t||\"editEdge\"!==i.inMode?(i.body.edges[n.id].updateEdgeType(),i.body.emitter.emit(\"_redraw\"),i.showManipulatorToolbar()):(i.body.data.edges.getDataSet().update(t),i.selectionHandler.unselectAll(),i.showManipulatorToolbar())}))}else this.body.data.edges.getDataSet().update(n),this.selectionHandler.unselectAll(),this.showManipulatorToolbar()}}]),t}(),dT=\"string\",cT=\"boolean\",uT=\"number\",fT=\"array\",pT=\"object\",vT=[\"arrow\",\"bar\",\"box\",\"circle\",\"crow\",\"curve\",\"diamond\",\"image\",\"inv_curve\",\"inv_triangle\",\"triangle\",\"vee\"],gT={borderWidth:{number:uT},borderWidthSelected:{number:uT,undefined:\"undefined\"},brokenImage:{string:dT,undefined:\"undefined\"},chosen:{label:{boolean:cT,function:\"function\"},node:{boolean:cT,function:\"function\"},__type__:{object:pT,boolean:cT}},color:{border:{string:dT},background:{string:dT},highlight:{border:{string:dT},background:{string:dT},__type__:{object:pT,string:dT}},hover:{border:{string:dT},background:{string:dT},__type__:{object:pT,string:dT}},__type__:{object:pT,string:dT}},opacity:{number:uT,undefined:\"undefined\"},fixed:{x:{boolean:cT},y:{boolean:cT},__type__:{object:pT,boolean:cT}},font:{align:{string:dT},color:{string:dT},size:{number:uT},face:{string:dT},background:{string:dT},strokeWidth:{number:uT},strokeColor:{string:dT},vadjust:{number:uT},multi:{boolean:cT,string:dT},bold:{color:{string:dT},size:{number:uT},face:{string:dT},mod:{string:dT},vadjust:{number:uT},__type__:{object:pT,string:dT}},boldital:{color:{string:dT},size:{number:uT},face:{string:dT},mod:{string:dT},vadjust:{number:uT},__type__:{object:pT,string:dT}},ital:{color:{string:dT},size:{number:uT},face:{string:dT},mod:{string:dT},vadjust:{number:uT},__type__:{object:pT,string:dT}},mono:{color:{string:dT},size:{number:uT},face:{string:dT},mod:{string:dT},vadjust:{number:uT},__type__:{object:pT,string:dT}},__type__:{object:pT,string:dT}},group:{string:dT,number:uT,undefined:\"undefined\"},heightConstraint:{minimum:{number:uT},valign:{string:dT},__type__:{object:pT,boolean:cT,number:uT}},hidden:{boolean:cT},icon:{face:{string:dT},code:{string:dT},size:{number:uT},color:{string:dT},weight:{string:dT,number:uT},__type__:{object:pT}},id:{string:dT,number:uT},image:{selected:{string:dT,undefined:\"undefined\"},unselected:{string:dT,undefined:\"undefined\"},__type__:{object:pT,string:dT}},imagePadding:{top:{number:uT},right:{number:uT},bottom:{number:uT},left:{number:uT},__type__:{object:pT,number:uT}},label:{string:dT,undefined:\"undefined\"},labelHighlightBold:{boolean:cT},level:{number:uT,undefined:\"undefined\"},margin:{top:{number:uT},right:{number:uT},bottom:{number:uT},left:{number:uT},__type__:{object:pT,number:uT}},mass:{number:uT},physics:{boolean:cT},scaling:{min:{number:uT},max:{number:uT},label:{enabled:{boolean:cT},min:{number:uT},max:{number:uT},maxVisible:{number:uT},drawThreshold:{number:uT},__type__:{object:pT,boolean:cT}},customScalingFunction:{function:\"function\"},__type__:{object:pT}},shadow:{enabled:{boolean:cT},color:{string:dT},size:{number:uT},x:{number:uT},y:{number:uT},__type__:{object:pT,boolean:cT}},shape:{string:[\"custom\",\"ellipse\",\"circle\",\"database\",\"box\",\"text\",\"image\",\"circularImage\",\"diamond\",\"dot\",\"star\",\"triangle\",\"triangleDown\",\"square\",\"icon\",\"hexagon\"]},ctxRenderer:{function:\"function\"},shapeProperties:{borderDashes:{boolean:cT,array:fT},borderRadius:{number:uT},interpolation:{boolean:cT},useImageSize:{boolean:cT},useBorderWithImage:{boolean:cT},coordinateOrigin:{string:[\"center\",\"top-left\"]},__type__:{object:pT}},size:{number:uT},title:{string:dT,dom:\"dom\",undefined:\"undefined\"},value:{number:uT,undefined:\"undefined\"},widthConstraint:{minimum:{number:uT},maximum:{number:uT},__type__:{object:pT,boolean:cT,number:uT}},x:{number:uT},y:{number:uT},__type__:{object:pT}},yT={configure:{enabled:{boolean:cT},filter:{boolean:cT,string:dT,array:fT,function:\"function\"},container:{dom:\"dom\"},showButton:{boolean:cT},__type__:{object:pT,boolean:cT,string:dT,array:fT,function:\"function\"}},edges:{arrows:{to:{enabled:{boolean:cT},scaleFactor:{number:uT},type:{string:vT},imageHeight:{number:uT},imageWidth:{number:uT},src:{string:dT},__type__:{object:pT,boolean:cT}},middle:{enabled:{boolean:cT},scaleFactor:{number:uT},type:{string:vT},imageWidth:{number:uT},imageHeight:{number:uT},src:{string:dT},__type__:{object:pT,boolean:cT}},from:{enabled:{boolean:cT},scaleFactor:{number:uT},type:{string:vT},imageWidth:{number:uT},imageHeight:{number:uT},src:{string:dT},__type__:{object:pT,boolean:cT}},__type__:{string:[\"from\",\"to\",\"middle\"],object:pT}},endPointOffset:{from:{number:uT},to:{number:uT},__type__:{object:pT,number:uT}},arrowStrikethrough:{boolean:cT},background:{enabled:{boolean:cT},color:{string:dT},size:{number:uT},dashes:{boolean:cT,array:fT},__type__:{object:pT,boolean:cT}},chosen:{label:{boolean:cT,function:\"function\"},edge:{boolean:cT,function:\"function\"},__type__:{object:pT,boolean:cT}},color:{color:{string:dT},highlight:{string:dT},hover:{string:dT},inherit:{string:[\"from\",\"to\",\"both\"],boolean:cT},opacity:{number:uT},__type__:{object:pT,string:dT}},dashes:{boolean:cT,array:fT},font:{color:{string:dT},size:{number:uT},face:{string:dT},background:{string:dT},strokeWidth:{number:uT},strokeColor:{string:dT},align:{string:[\"horizontal\",\"top\",\"middle\",\"bottom\"]},vadjust:{number:uT},multi:{boolean:cT,string:dT},bold:{color:{string:dT},size:{number:uT},face:{string:dT},mod:{string:dT},vadjust:{number:uT},__type__:{object:pT,string:dT}},boldital:{color:{string:dT},size:{number:uT},face:{string:dT},mod:{string:dT},vadjust:{number:uT},__type__:{object:pT,string:dT}},ital:{color:{string:dT},size:{number:uT},face:{string:dT},mod:{string:dT},vadjust:{number:uT},__type__:{object:pT,string:dT}},mono:{color:{string:dT},size:{number:uT},face:{string:dT},mod:{string:dT},vadjust:{number:uT},__type__:{object:pT,string:dT}},__type__:{object:pT,string:dT}},hidden:{boolean:cT},hoverWidth:{function:\"function\",number:uT},label:{string:dT,undefined:\"undefined\"},labelHighlightBold:{boolean:cT},length:{number:uT,undefined:\"undefined\"},physics:{boolean:cT},scaling:{min:{number:uT},max:{number:uT},label:{enabled:{boolean:cT},min:{number:uT},max:{number:uT},maxVisible:{number:uT},drawThreshold:{number:uT},__type__:{object:pT,boolean:cT}},customScalingFunction:{function:\"function\"},__type__:{object:pT}},selectionWidth:{function:\"function\",number:uT},selfReferenceSize:{number:uT},selfReference:{size:{number:uT},angle:{number:uT},renderBehindTheNode:{boolean:cT},__type__:{object:pT}},shadow:{enabled:{boolean:cT},color:{string:dT},size:{number:uT},x:{number:uT},y:{number:uT},__type__:{object:pT,boolean:cT}},smooth:{enabled:{boolean:cT},type:{string:[\"dynamic\",\"continuous\",\"discrete\",\"diagonalCross\",\"straightCross\",\"horizontal\",\"vertical\",\"curvedCW\",\"curvedCCW\",\"cubicBezier\"]},roundness:{number:uT},forceDirection:{string:[\"horizontal\",\"vertical\",\"none\"],boolean:cT},__type__:{object:pT,boolean:cT}},title:{string:dT,undefined:\"undefined\"},width:{number:uT},widthConstraint:{maximum:{number:uT},__type__:{object:pT,boolean:cT,number:uT}},value:{number:uT,undefined:\"undefined\"},__type__:{object:pT}},groups:{useDefaultGroups:{boolean:cT},__any__:gT,__type__:{object:pT}},interaction:{dragNodes:{boolean:cT},dragView:{boolean:cT},hideEdgesOnDrag:{boolean:cT},hideEdgesOnZoom:{boolean:cT},hideNodesOnDrag:{boolean:cT},hover:{boolean:cT},keyboard:{enabled:{boolean:cT},speed:{x:{number:uT},y:{number:uT},zoom:{number:uT},__type__:{object:pT}},bindToWindow:{boolean:cT},autoFocus:{boolean:cT},__type__:{object:pT,boolean:cT}},multiselect:{boolean:cT},navigationButtons:{boolean:cT},selectable:{boolean:cT},selectConnectedEdges:{boolean:cT},hoverConnectedEdges:{boolean:cT},tooltipDelay:{number:uT},zoomView:{boolean:cT},zoomSpeed:{number:uT},__type__:{object:pT}},layout:{randomSeed:{undefined:\"undefined\",number:uT,string:dT},improvedLayout:{boolean:cT},clusterThreshold:{number:uT},hierarchical:{enabled:{boolean:cT},levelSeparation:{number:uT},nodeSpacing:{number:uT},treeSpacing:{number:uT},blockShifting:{boolean:cT},edgeMinimization:{boolean:cT},parentCentralization:{boolean:cT},direction:{string:[\"UD\",\"DU\",\"LR\",\"RL\"]},sortMethod:{string:[\"hubsize\",\"directed\"]},shakeTowards:{string:[\"leaves\",\"roots\"]},__type__:{object:pT,boolean:cT}},__type__:{object:pT}},manipulation:{enabled:{boolean:cT},initiallyActive:{boolean:cT},addNode:{boolean:cT,function:\"function\"},addEdge:{boolean:cT,function:\"function\"},editNode:{function:\"function\"},editEdge:{editWithoutDrag:{function:\"function\"},__type__:{object:pT,boolean:cT,function:\"function\"}},deleteNode:{boolean:cT,function:\"function\"},deleteEdge:{boolean:cT,function:\"function\"},controlNodeStyle:gT,__type__:{object:pT,boolean:cT}},nodes:gT,physics:{enabled:{boolean:cT},barnesHut:{theta:{number:uT},gravitationalConstant:{number:uT},centralGravity:{number:uT},springLength:{number:uT},springConstant:{number:uT},damping:{number:uT},avoidOverlap:{number:uT},__type__:{object:pT}},forceAtlas2Based:{theta:{number:uT},gravitationalConstant:{number:uT},centralGravity:{number:uT},springLength:{number:uT},springConstant:{number:uT},damping:{number:uT},avoidOverlap:{number:uT},__type__:{object:pT}},repulsion:{centralGravity:{number:uT},springLength:{number:uT},springConstant:{number:uT},nodeDistance:{number:uT},damping:{number:uT},__type__:{object:pT}},hierarchicalRepulsion:{centralGravity:{number:uT},springLength:{number:uT},springConstant:{number:uT},nodeDistance:{number:uT},damping:{number:uT},avoidOverlap:{number:uT},__type__:{object:pT}},maxVelocity:{number:uT},minVelocity:{number:uT},solver:{string:[\"barnesHut\",\"repulsion\",\"hierarchicalRepulsion\",\"forceAtlas2Based\"]},stabilization:{enabled:{boolean:cT},iterations:{number:uT},updateInterval:{number:uT},onlyDynamicEdges:{boolean:cT},fit:{boolean:cT},__type__:{object:pT,boolean:cT}},timestep:{number:uT},adaptiveTimestep:{boolean:cT},wind:{x:{number:uT},y:{number:uT},__type__:{object:pT}},__type__:{object:pT,boolean:cT}},autoResize:{boolean:cT},clickToUse:{boolean:cT},locale:{string:dT},locales:{__any__:{any:\"any\"},__type__:{object:pT}},height:{string:dT},width:{string:dT},__type__:{object:pT}},mT={nodes:{borderWidth:[1,0,10,1],borderWidthSelected:[2,0,10,1],color:{border:[\"color\",\"#2B7CE9\"],background:[\"color\",\"#97C2FC\"],highlight:{border:[\"color\",\"#2B7CE9\"],background:[\"color\",\"#D2E5FF\"]},hover:{border:[\"color\",\"#2B7CE9\"],background:[\"color\",\"#D2E5FF\"]}},opacity:[0,0,1,.1],fixed:{x:!1,y:!1},font:{color:[\"color\",\"#343434\"],size:[14,0,100,1],face:[\"arial\",\"verdana\",\"tahoma\"],background:[\"color\",\"none\"],strokeWidth:[0,0,50,1],strokeColor:[\"color\",\"#ffffff\"]},hidden:!1,labelHighlightBold:!0,physics:!0,scaling:{min:[10,0,200,1],max:[30,0,200,1],label:{enabled:!1,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},shadow:{enabled:!1,color:\"rgba(0,0,0,0.5)\",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},shape:[\"ellipse\",\"box\",\"circle\",\"database\",\"diamond\",\"dot\",\"square\",\"star\",\"text\",\"triangle\",\"triangleDown\",\"hexagon\"],shapeProperties:{borderDashes:!1,borderRadius:[6,0,20,1],interpolation:!0,useImageSize:!1},size:[25,0,200,1]},edges:{arrows:{to:{enabled:!1,scaleFactor:[1,0,3,.05],type:\"arrow\"},middle:{enabled:!1,scaleFactor:[1,0,3,.05],type:\"arrow\"},from:{enabled:!1,scaleFactor:[1,0,3,.05],type:\"arrow\"}},endPointOffset:{from:[0,-10,10,1],to:[0,-10,10,1]},arrowStrikethrough:!0,color:{color:[\"color\",\"#848484\"],highlight:[\"color\",\"#848484\"],hover:[\"color\",\"#848484\"],inherit:[\"from\",\"to\",\"both\",!0,!1],opacity:[1,0,1,.05]},dashes:!1,font:{color:[\"color\",\"#343434\"],size:[14,0,100,1],face:[\"arial\",\"verdana\",\"tahoma\"],background:[\"color\",\"none\"],strokeWidth:[2,0,50,1],strokeColor:[\"color\",\"#ffffff\"],align:[\"horizontal\",\"top\",\"middle\",\"bottom\"]},hidden:!1,hoverWidth:[1.5,0,5,.1],labelHighlightBold:!0,physics:!0,scaling:{min:[1,0,100,1],max:[15,0,100,1],label:{enabled:!0,min:[14,0,200,1],max:[30,0,200,1],maxVisible:[30,0,200,1],drawThreshold:[5,0,20,1]}},selectionWidth:[1.5,0,5,.1],selfReferenceSize:[20,0,200,1],selfReference:{size:[20,0,200,1],angle:[Math.PI/2,-6*Math.PI,6*Math.PI,Math.PI/8],renderBehindTheNode:!0},shadow:{enabled:!1,color:\"rgba(0,0,0,0.5)\",size:[10,0,20,1],x:[5,-30,30,1],y:[5,-30,30,1]},smooth:{enabled:!0,type:[\"dynamic\",\"continuous\",\"discrete\",\"diagonalCross\",\"straightCross\",\"horizontal\",\"vertical\",\"curvedCW\",\"curvedCCW\",\"cubicBezier\"],forceDirection:[\"horizontal\",\"vertical\",\"none\"],roundness:[.5,0,1,.05]},width:[1,0,30,1]},layout:{hierarchical:{enabled:!1,levelSeparation:[150,20,500,5],nodeSpacing:[100,20,500,5],treeSpacing:[200,20,500,5],blockShifting:!0,edgeMinimization:!0,parentCentralization:!0,direction:[\"UD\",\"DU\",\"LR\",\"RL\"],sortMethod:[\"hubsize\",\"directed\"],shakeTowards:[\"leaves\",\"roots\"]}},interaction:{dragNodes:!0,dragView:!0,hideEdgesOnDrag:!1,hideEdgesOnZoom:!1,hideNodesOnDrag:!1,hover:!1,keyboard:{enabled:!1,speed:{x:[10,0,40,1],y:[10,0,40,1],zoom:[.02,0,.1,.005]},bindToWindow:!0,autoFocus:!0},multiselect:!1,navigationButtons:!1,selectable:!0,selectConnectedEdges:!0,hoverConnectedEdges:!0,tooltipDelay:[300,0,1e3,25],zoomView:!0,zoomSpeed:[1,.1,2,.1]},manipulation:{enabled:!1,initiallyActive:!1},physics:{enabled:!0,barnesHut:{theta:[.5,.1,1,.05],gravitationalConstant:[-2e3,-3e4,0,50],centralGravity:[.3,0,10,.05],springLength:[95,0,500,5],springConstant:[.04,0,1.2,.005],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},forceAtlas2Based:{theta:[.5,.1,1,.05],gravitationalConstant:[-50,-500,0,1],centralGravity:[.01,0,1,.005],springLength:[95,0,500,5],springConstant:[.08,0,1.2,.005],damping:[.4,0,1,.01],avoidOverlap:[0,0,1,.01]},repulsion:{centralGravity:[.2,0,10,.05],springLength:[200,0,500,5],springConstant:[.05,0,1.2,.005],nodeDistance:[100,0,500,5],damping:[.09,0,1,.01]},hierarchicalRepulsion:{centralGravity:[.2,0,10,.05],springLength:[100,0,500,5],springConstant:[.01,0,1.2,.005],nodeDistance:[120,0,500,5],damping:[.09,0,1,.01],avoidOverlap:[0,0,1,.01]},maxVelocity:[50,0,150,1],minVelocity:[.1,.01,.5,.01],solver:[\"barnesHut\",\"forceAtlas2Based\",\"repulsion\",\"hierarchicalRepulsion\"],timestep:[.5,.01,1,.01],wind:{x:[0,-10,10,.1],y:[0,-10,10,.1]}}},bT=function(t,e,i){var n;return!(!Nf(t).call(t,\"physics\")||!Nf(n=mT.physics.solver).call(n,e)||i.physics.solver===e||\"wind\"===e)},wT=Object.freeze({__proto__:null,configuratorHideOption:bT,allOptions:yT,configureOptions:mT}),kT=function(){function t(){Yd(this,t)}return Kd(t,[{key:\"getDistances\",value:function(t,e,i){for(var n={},o=t.edges,r=0;r<e.length;r++){var s={};n[e[r]]=s;for(var a=0;a<e.length;a++)s[e[a]]=r==a?0:1e9}for(var h=0;h<i.length;h++){var l=o[i[h]];!0===l.connected&&void 0!==n[l.fromId]&&void 0!==n[l.toId]&&(n[l.fromId][l.toId]=1,n[l.toId][l.fromId]=1)}for(var d=e.length,c=0;c<d;c++)for(var u=e[c],f=n[u],p=0;p<d-1;p++)for(var v=e[p],g=n[v],y=p+1;y<d;y++){var m=e[y],b=n[m],w=Math.min(g[m],g[u]+f[m]);g[m]=w,b[v]=w}return n}}]),t}(),_T=function(){function t(e,i,n){Yd(this,t),this.body=e,this.springLength=i,this.springConstant=n,this.distanceSolver=new kT}return Kd(t,[{key:\"setOptions\",value:function(t){t&&(t.springLength&&(this.springLength=t.springLength),t.springConstant&&(this.springConstant=t.springConstant))}},{key:\"solve\",value:function(t,e){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=this.distanceSolver.getDistances(this.body,t,e);this._createL_matrix(n),this._createK_matrix(n),this._createE_matrix();for(var o=.01,r=1,s=0,a=Math.max(1e3,Math.min(10*this.body.nodeIndices.length,6e3)),h=5,l=1e9,d=0,c=0,u=0,f=0,p=0;l>o&&s<a;){s+=1;var v=this._getHighestEnergyNode(i),g=Kc(v,4);for(d=g[0],l=g[1],c=g[2],u=g[3],f=l,p=0;f>r&&p<h;){p+=1,this._moveNode(d,c,u);var y=this._getEnergy(d),m=Kc(y,3);f=m[0],c=m[1],u=m[2]}}}},{key:\"_getHighestEnergyNode\",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,n=0,o=e[0],r=0,s=0,a=0;a<e.length;a++){var h=e[a];if(!0!==i[h].predefinedPosition||!0===i[h].isCluster&&!0===t||!0!==i[h].options.fixed.x||!0!==i[h].options.fixed.y){var l=Kc(this._getEnergy(h),3),d=l[0],c=l[1],u=l[2];n<d&&(n=d,o=h,r=c,s=u)}}return[o,n,r,s]}},{key:\"_getEnergy\",value:function(t){var e=Kc(this.E_sums[t],2),i=e[0],n=e[1];return[Math.sqrt(Math.pow(i,2)+Math.pow(n,2)),i,n]}},{key:\"_moveNode\",value:function(t,e,i){for(var n=this.body.nodeIndices,o=this.body.nodes,r=0,s=0,a=0,h=o[t].x,l=o[t].y,d=this.K_matrix[t],c=this.L_matrix[t],u=0;u<n.length;u++){var f=n[u];if(f!==t){var p=o[f].x,v=o[f].y,g=d[f],y=c[f],m=1/Math.pow(Math.pow(h-p,2)+Math.pow(l-v,2),1.5);r+=g*(1-y*Math.pow(l-v,2)*m),s+=g*(y*(h-p)*(l-v)*m),a+=g*(1-y*Math.pow(h-p,2)*m)}}var b=(e/r+i/s)/(s/r-a/s),w=-(s*b+e)/r;o[t].x+=w,o[t].y+=b,this._updateE_matrix(t)}},{key:\"_createL_matrix\",value:function(t){var e=this.body.nodeIndices,i=this.springLength;this.L_matrix=[];for(var n=0;n<e.length;n++){this.L_matrix[e[n]]={};for(var o=0;o<e.length;o++)this.L_matrix[e[n]][e[o]]=i*t[e[n]][e[o]]}}},{key:\"_createK_matrix\",value:function(t){var e=this.body.nodeIndices,i=this.springConstant;this.K_matrix=[];for(var n=0;n<e.length;n++){this.K_matrix[e[n]]={};for(var o=0;o<e.length;o++)this.K_matrix[e[n]][e[o]]=i*Math.pow(t[e[n]][e[o]],-2)}}},{key:\"_createE_matrix\",value:function(){var t=this.body.nodeIndices,e=this.body.nodes;this.E_matrix={},this.E_sums={};for(var i=0;i<t.length;i++)this.E_matrix[t[i]]=[];for(var n=0;n<t.length;n++){for(var o=t[n],r=e[o].x,s=e[o].y,a=0,h=0,l=n;l<t.length;l++){var d=t[l];if(d!==o){var c=e[d].x,u=e[d].y,f=1/Math.sqrt(Math.pow(r-c,2)+Math.pow(s-u,2));this.E_matrix[o][l]=[this.K_matrix[o][d]*(r-c-this.L_matrix[o][d]*(r-c)*f),this.K_matrix[o][d]*(s-u-this.L_matrix[o][d]*(s-u)*f)],this.E_matrix[d][n]=this.E_matrix[o][l],a+=this.E_matrix[o][l][0],h+=this.E_matrix[o][l][1]}}this.E_sums[o]=[a,h]}}},{key:\"_updateE_matrix\",value:function(t){for(var e=this.body.nodeIndices,i=this.body.nodes,n=this.E_matrix[t],o=this.K_matrix[t],r=this.L_matrix[t],s=i[t].x,a=i[t].y,h=0,l=0,d=0;d<e.length;d++){var c=e[d];if(c!==t){var u=n[d],f=u[0],p=u[1],v=i[c].x,g=i[c].y,y=1/Math.sqrt(Math.pow(s-v,2)+Math.pow(a-g,2)),m=o[c]*(s-v-r[c]*(s-v)*y),b=o[c]*(a-g-r[c]*(a-g)*y);n[d]=[m,b],h+=m,l+=b;var w=this.E_sums[c];w[0]+=m-f,w[1]+=b-p}}this.E_sums[t]=[h,l]}}]),t}();function xT(t,e,i){var n,o,r,s,a=this;if(!(this instanceof xT))throw new SyntaxError(\"Constructor must be called with the new operator\");this.options={},this.defaultOptions={locale:\"en\",locales:Tb,clickToUse:!1},un(this.options,this.defaultOptions),this.body={container:t,nodes:{},nodeIndices:[],edges:{},edgeIndices:[],emitter:{on:zn(n=this.on).call(n,this),off:zn(o=this.off).call(o,this),emit:zn(r=this.emit).call(r,this),once:zn(s=this.once).call(s,this)},eventListeners:{onTap:function(){},onTouch:function(){},onDoubleTap:function(){},onHold:function(){},onDragStart:function(){},onDrag:function(){},onDragEnd:function(){},onMouseWheel:function(){},onPinch:function(){},onMouseMove:function(){},onRelease:function(){},onContext:function(){}},data:{nodes:null,edges:null},functions:{createNode:function(){},createEdge:function(){},getPointer:function(){}},modules:{},view:{scale:1,translation:{x:0,y:0}},selectionBox:{show:!1,position:{start:{x:0,y:0},end:{x:0,y:0}}}},this.bindEventListeners(),this.images=new Pb((function(){return a.body.emitter.emit(\"_requestRedraw\")})),this.groups=new tk,this.canvas=new zC(this.body),this.selectionHandler=new HS(this.body,this.canvas),this.interactionHandler=new WC(this.body,this.canvas,this.selectionHandler),this.view=new FC(this.body,this.canvas),this.renderer=new PC(this.body,this.canvas),this.physics=new xC(this.body),this.layoutEngine=new sT(this.body),this.clustering=new SC(this.body),this.manipulation=new lT(this.body,this.canvas,this.selectionHandler,this.interactionHandler),this.nodesHandler=new gO(this.body,this.images,this.groups,this.layoutEngine),this.edgesHandler=new uC(this.body,this.images,this.groups),this.body.modules.kamadaKawai=new _T(this.body,150,.05),this.body.modules.clustering=this.clustering,this.canvas._create(),this.setOptions(i),this.setData(e)}function ET(t){for(var e in t)Object.prototype.hasOwnProperty.call(t,e)&&(t[e].redundant=t[e].used,t[e].used=[])}function OT(t){for(var e in t)if(Object.prototype.hasOwnProperty.call(t,e)&&t[e].redundant){for(var i=0;i<t[e].redundant.length;i++)t[e].redundant[i].parentNode.removeChild(t[e].redundant[i]);t[e].redundant=[]}}function CT(t,e,i){var n;return Object.prototype.hasOwnProperty.call(e,t)?e[t].redundant.length>0?(n=e[t].redundant[0],e[t].redundant.shift()):(n=document.createElementNS(\"http://www.w3.org/2000/svg\",t),i.appendChild(n)):(n=document.createElementNS(\"http://www.w3.org/2000/svg\",t),e[t]={used:[],redundant:[]},i.appendChild(n)),e[t].used.push(n),n}Wn(xT.prototype),xT.prototype.setOptions=function(t){var e=this;if(null===t&&(t=void 0),void 0!==t){!0===Um.validate(t,yT)&&console.error(\"%cErrors have been found in the supplied options object.\",Vm);if(em([\"locale\",\"locales\",\"clickToUse\"],this.options,t),void 0!==t.locale&&(t.locale=function(t,e){try{var i=Kc(e.split(/[-_ /]/,2),2),n=i[0],o=i[1],r=null!=n?n.toLowerCase():null,s=null!=o?o.toUpperCase():null;if(r&&s){var a,h=r+\"-\"+s;if(Object.prototype.hasOwnProperty.call(t,h))return h;console.warn(su(a=\"Unknown variant \".concat(s,\" of language \")).call(a,r,\".\"))}if(r){var l=r;if(Object.prototype.hasOwnProperty.call(t,l))return l;console.warn(\"Unknown language \".concat(r))}return console.warn(\"Unknown locale \".concat(e,\", falling back to English.\")),\"en\"}catch(t){return console.error(t),console.warn(\"Unexpected error while normalizing locale \".concat(e,\", falling back to English.\")),\"en\"}}(t.locales||this.options.locales,t.locale)),t=this.layoutEngine.setOptions(t.layout,t),this.canvas.setOptions(t),this.groups.setOptions(t.groups),this.nodesHandler.setOptions(t.nodes),this.edgesHandler.setOptions(t.edges),this.physics.setOptions(t.physics),this.manipulation.setOptions(t.manipulation,t,this.options),this.interactionHandler.setOptions(t.interaction),this.renderer.setOptions(t.interaction),this.selectionHandler.setOptions(t.interaction),void 0!==t.groups&&this.body.emitter.emit(\"refreshNodes\"),\"configure\"in t&&(this.configurator||(this.configurator=new Hm(this,this.body.container,mT,this.canvas.pixelRatio,bT)),this.configurator.setOptions(t.configure)),this.configurator&&!0===this.configurator.options.enabled){var i={nodes:{},edges:{},layout:{},interaction:{},manipulation:{},physics:{},global:{}};nm(i.nodes,this.nodesHandler.options),nm(i.edges,this.edgesHandler.options),nm(i.layout,this.layoutEngine.options),nm(i.interaction,this.selectionHandler.options),nm(i.interaction,this.renderer.options),nm(i.interaction,this.interactionHandler.options),nm(i.manipulation,this.manipulation.options),nm(i.physics,this.physics.options),nm(i.global,this.canvas.options),nm(i.global,this.options),this.configurator.setModuleOptions(i)}void 0!==t.clickToUse?!0===t.clickToUse?void 0===this.activator&&(this.activator=new Rm(this.canvas.frame),this.activator.on(\"change\",(function(){e.body.emitter.emit(\"activate\")}))):(void 0!==this.activator&&(this.activator.destroy(),delete this.activator),this.body.emitter.emit(\"activate\")):this.body.emitter.emit(\"activate\"),this.canvas.setSize(),this.body.emitter.emit(\"startSimulation\")}},xT.prototype._updateVisibleIndices=function(){var t=this.body.nodes,e=this.body.edges;for(var i in this.body.nodeIndices=[],this.body.edgeIndices=[],t)Object.prototype.hasOwnProperty.call(t,i)&&(this.clustering._isClusteredNode(i)||!1!==t[i].options.hidden||this.body.nodeIndices.push(t[i].id));for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var o=e[n],r=t[o.fromId],s=t[o.toId],a=void 0!==r&&void 0!==s;!this.clustering._isClusteredEdge(n)&&!1===o.options.hidden&&a&&!1===r.options.hidden&&!1===s.options.hidden&&this.body.edgeIndices.push(o.id)}},xT.prototype.bindEventListeners=function(){var t=this;this.body.emitter.on(\"_dataChanged\",(function(){t.edgesHandler._updateState(),t.body.emitter.emit(\"_dataUpdated\")})),this.body.emitter.on(\"_dataUpdated\",(function(){t.clustering._updateState(),t._updateVisibleIndices(),t._updateValueRange(t.body.nodes),t._updateValueRange(t.body.edges),t.body.emitter.emit(\"startSimulation\"),t.body.emitter.emit(\"_requestRedraw\")}))},xT.prototype.setData=function(t){if(this.body.emitter.emit(\"resetPhysics\"),this.body.emitter.emit(\"_resetData\"),this.selectionHandler.unselectAll(),t&&t.dot&&(t.nodes||t.edges))throw new SyntaxError('Data must contain either parameter \"dot\" or  parameter pair \"nodes\" and \"edges\", but not both.');if(this.setOptions(t&&t.options),t&&t.dot){console.warn(\"The dot property has been deprecated. Please use the static convertDot method to convert DOT into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertDot(dotString);\");var e=Eb(t.dot);this.setData(e)}else if(t&&t.gephi){console.warn(\"The gephi property has been deprecated. Please use the static convertGephi method to convert gephi into vis.network format and use the normal data format with nodes and edges. This converter is used like this: var data = vis.network.convertGephi(gephiJson);\");var i=Cb(t.gephi);this.setData(i)}else this.nodesHandler.setData(t&&t.nodes,!0),this.edgesHandler.setData(t&&t.edges,!0),this.body.emitter.emit(\"_dataChanged\"),this.body.emitter.emit(\"_dataLoaded\"),this.body.emitter.emit(\"initPhysics\")},xT.prototype.destroy=function(){for(var t in this.body.emitter.emit(\"destroy\"),this.body.emitter.off(),this.off(),delete this.groups,delete this.canvas,delete this.selectionHandler,delete this.interactionHandler,delete this.view,delete this.renderer,delete this.physics,delete this.layoutEngine,delete this.clustering,delete this.manipulation,delete this.nodesHandler,delete this.edgesHandler,delete this.configurator,delete this.images,this.body.nodes)Object.prototype.hasOwnProperty.call(this.body.nodes,t)&&delete this.body.nodes[t];for(var e in this.body.edges)Object.prototype.hasOwnProperty.call(this.body.edges,e)&&delete this.body.edges[e];Ky(this.body.container)},xT.prototype._updateValueRange=function(t){var e,i=void 0,n=void 0,o=0;for(e in t)if(Object.prototype.hasOwnProperty.call(t,e)){var r=t[e].getValue();void 0!==r&&(i=void 0===i?r:Math.min(r,i),n=void 0===n?r:Math.max(r,n),o+=r)}if(void 0!==i&&void 0!==n)for(e in t)Object.prototype.hasOwnProperty.call(t,e)&&t[e].setValueRange(i,n,o)},xT.prototype.isActive=function(){return!this.activator||this.activator.active},xT.prototype.setSize=function(){return this.canvas.setSize.apply(this.canvas,arguments)},xT.prototype.canvasToDOM=function(){return this.canvas.canvasToDOM.apply(this.canvas,arguments)},xT.prototype.DOMtoCanvas=function(){return this.canvas.DOMtoCanvas.apply(this.canvas,arguments)},xT.prototype.findNode=function(){return this.clustering.findNode.apply(this.clustering,arguments)},xT.prototype.isCluster=function(){return this.clustering.isCluster.apply(this.clustering,arguments)},xT.prototype.openCluster=function(){return this.clustering.openCluster.apply(this.clustering,arguments)},xT.prototype.cluster=function(){return this.clustering.cluster.apply(this.clustering,arguments)},xT.prototype.getNodesInCluster=function(){return this.clustering.getNodesInCluster.apply(this.clustering,arguments)},xT.prototype.clusterByConnection=function(){return this.clustering.clusterByConnection.apply(this.clustering,arguments)},xT.prototype.clusterByHubsize=function(){return this.clustering.clusterByHubsize.apply(this.clustering,arguments)},xT.prototype.updateClusteredNode=function(){return this.clustering.updateClusteredNode.apply(this.clustering,arguments)},xT.prototype.getClusteredEdges=function(){return this.clustering.getClusteredEdges.apply(this.clustering,arguments)},xT.prototype.getBaseEdge=function(){return this.clustering.getBaseEdge.apply(this.clustering,arguments)},xT.prototype.getBaseEdges=function(){return this.clustering.getBaseEdges.apply(this.clustering,arguments)},xT.prototype.updateEdge=function(){return this.clustering.updateEdge.apply(this.clustering,arguments)},xT.prototype.clusterOutliers=function(){return this.clustering.clusterOutliers.apply(this.clustering,arguments)},xT.prototype.getSeed=function(){return this.layoutEngine.getSeed.apply(this.layoutEngine,arguments)},xT.prototype.enableEditMode=function(){return this.manipulation.enableEditMode.apply(this.manipulation,arguments)},xT.prototype.disableEditMode=function(){return this.manipulation.disableEditMode.apply(this.manipulation,arguments)},xT.prototype.addNodeMode=function(){return this.manipulation.addNodeMode.apply(this.manipulation,arguments)},xT.prototype.editNode=function(){return this.manipulation.editNode.apply(this.manipulation,arguments)},xT.prototype.editNodeMode=function(){return console.warn(\"Deprecated: Please use editNode instead of editNodeMode.\"),this.manipulation.editNode.apply(this.manipulation,arguments)},xT.prototype.addEdgeMode=function(){return this.manipulation.addEdgeMode.apply(this.manipulation,arguments)},xT.prototype.editEdgeMode=function(){return this.manipulation.editEdgeMode.apply(this.manipulation,arguments)},xT.prototype.deleteSelected=function(){return this.manipulation.deleteSelected.apply(this.manipulation,arguments)},xT.prototype.getPositions=function(){return this.nodesHandler.getPositions.apply(this.nodesHandler,arguments)},xT.prototype.getPosition=function(){return this.nodesHandler.getPosition.apply(this.nodesHandler,arguments)},xT.prototype.storePositions=function(){return this.nodesHandler.storePositions.apply(this.nodesHandler,arguments)},xT.prototype.moveNode=function(){return this.nodesHandler.moveNode.apply(this.nodesHandler,arguments)},xT.prototype.getBoundingBox=function(){return this.nodesHandler.getBoundingBox.apply(this.nodesHandler,arguments)},xT.prototype.getConnectedNodes=function(t){return void 0!==this.body.nodes[t]?this.nodesHandler.getConnectedNodes.apply(this.nodesHandler,arguments):this.edgesHandler.getConnectedNodes.apply(this.edgesHandler,arguments)},xT.prototype.getConnectedEdges=function(){return this.nodesHandler.getConnectedEdges.apply(this.nodesHandler,arguments)},xT.prototype.startSimulation=function(){return this.physics.startSimulation.apply(this.physics,arguments)},xT.prototype.stopSimulation=function(){return this.physics.stopSimulation.apply(this.physics,arguments)},xT.prototype.stabilize=function(){return this.physics.stabilize.apply(this.physics,arguments)},xT.prototype.getSelection=function(){return this.selectionHandler.getSelection.apply(this.selectionHandler,arguments)},xT.prototype.setSelection=function(){return this.selectionHandler.setSelection.apply(this.selectionHandler,arguments)},xT.prototype.getSelectedNodes=function(){return this.selectionHandler.getSelectedNodeIds.apply(this.selectionHandler,arguments)},xT.prototype.getSelectedEdges=function(){return this.selectionHandler.getSelectedEdgeIds.apply(this.selectionHandler,arguments)},xT.prototype.getNodeAt=function(){var t=this.selectionHandler.getNodeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},xT.prototype.getEdgeAt=function(){var t=this.selectionHandler.getEdgeAt.apply(this.selectionHandler,arguments);return void 0!==t&&void 0!==t.id?t.id:t},xT.prototype.selectNodes=function(){return this.selectionHandler.selectNodes.apply(this.selectionHandler,arguments)},xT.prototype.selectEdges=function(){return this.selectionHandler.selectEdges.apply(this.selectionHandler,arguments)},xT.prototype.unselectAll=function(){this.selectionHandler.unselectAll.apply(this.selectionHandler,arguments),this.selectionHandler.commitWithoutEmitting.apply(this.selectionHandler),this.redraw()},xT.prototype.redraw=function(){return this.renderer.redraw.apply(this.renderer,arguments)},xT.prototype.getScale=function(){return this.view.getScale.apply(this.view,arguments)},xT.prototype.getViewPosition=function(){return this.view.getViewPosition.apply(this.view,arguments)},xT.prototype.fit=function(){return this.view.fit.apply(this.view,arguments)},xT.prototype.moveTo=function(){return this.view.moveTo.apply(this.view,arguments)},xT.prototype.focus=function(){return this.view.focus.apply(this.view,arguments)},xT.prototype.releaseNode=function(){return this.view.releaseNode.apply(this.view,arguments)},xT.prototype.getOptionsFromConfigurator=function(){var t={};return this.configurator&&(t=this.configurator.getOptions.apply(this.configurator)),t};var ST=Object.freeze({__proto__:null,prepareElements:ET,cleanupElements:OT,resetElements:function(t){ET(t),OT(t),ET(t)},getSVGElement:CT,getDOMElement:function(t,e,i,n){var o;return Object.prototype.hasOwnProperty.call(e,t)?e[t].redundant.length>0?(o=e[t].redundant[0],e[t].redundant.shift()):(o=document.createElement(t),void 0!==n?i.insertBefore(o,n):i.appendChild(o)):(o=document.createElement(t),e[t]={used:[],redundant:[]},void 0!==n?i.insertBefore(o,n):i.appendChild(o)),e[t].used.push(o),o},drawPoint:function(t,e,i,n,o,r){var s;if(\"circle\"==i.style?((s=CT(\"circle\",n,o)).setAttributeNS(null,\"cx\",t),s.setAttributeNS(null,\"cy\",e),s.setAttributeNS(null,\"r\",.5*i.size)):((s=CT(\"rect\",n,o)).setAttributeNS(null,\"x\",t-.5*i.size),s.setAttributeNS(null,\"y\",e-.5*i.size),s.setAttributeNS(null,\"width\",i.size),s.setAttributeNS(null,\"height\",i.size)),void 0!==i.styles&&s.setAttributeNS(null,\"style\",i.styles),s.setAttributeNS(null,\"class\",i.className+\" vis-point\"),r){var a=CT(\"text\",n,o);r.xOffset&&(t+=r.xOffset),r.yOffset&&(e+=r.yOffset),r.content&&(a.textContent=r.content),r.className&&a.setAttributeNS(null,\"class\",r.className+\" vis-label\"),a.setAttributeNS(null,\"x\",t),a.setAttributeNS(null,\"y\",e)}return s},drawBar:function(t,e,i,n,o,r,s,a){if(0!=n){n<0&&(e-=n*=-1);var h=CT(\"rect\",r,s);h.setAttributeNS(null,\"x\",t-.5*i),h.setAttributeNS(null,\"y\",e),h.setAttributeNS(null,\"width\",i),h.setAttributeNS(null,\"height\",n),h.setAttributeNS(null,\"class\",o),a&&h.setAttributeNS(null,\"style\",a)}}}),TT={Images:Pb,dotparser:Ob,gephiParser:Sb,allOptions:wT,convertDot:Eb,convertGephi:Cb},MT=Object.freeze({__proto__:null,network:TT,DOMutil:ST,util:Ym,data:Jx,Hammer:Wm,keycharm:jC,DataSet:Kx,DataView:$x,Queue:Yx,Network:xT});t.DOMutil=ST,t.DataSet=Kx,t.DataView=$x,t.Hammer=Wm,t.Network=xT,t.Queue=Yx,t.data=Jx,t.default=MT,t.keycharm=jC,t.network=TT,t.util=Ym,Object.defineProperty(t,\"__esModule\",{value:!0})}));\n",
              "//# sourceMappingURL=vis-network.min.js.map</script>\n",
              "            \n",
              "        \n",
              "<center>\n",
              "<h1></h1>\n",
              "</center>\n",
              "\n",
              "<!-- <link rel=\"stylesheet\" href=\"../node_modules/vis/dist/vis.min.css\" type=\"text/css\" />\n",
              "<script type=\"text/javascript\" src=\"../node_modules/vis/dist/vis.js\"> </script>-->\n",
              "        <link\n",
              "          href=\"https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/css/bootstrap.min.css\"\n",
              "          rel=\"stylesheet\"\n",
              "          integrity=\"sha384-eOJMYsd53ii+scO/bJGFsiCZc+5NDVN2yr8+0RDqr0Ql0h+rP48ckxlpbzKgwra6\"\n",
              "          crossorigin=\"anonymous\"\n",
              "        />\n",
              "        <script\n",
              "          src=\"https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.bundle.min.js\"\n",
              "          integrity=\"sha384-JEW9xMcG8R+pH31jmWH6WWP0WintQrMb4s7ZOdauHnUtxwoG2vI5DkLtS3qm9Ekf\"\n",
              "          crossorigin=\"anonymous\"\n",
              "        ></script>\n",
              "\n",
              "\n",
              "        <center>\n",
              "          <h1></h1>\n",
              "        </center>\n",
              "        <style type=\"text/css\">\n",
              "\n",
              "             #mynetwork {\n",
              "                 width: 100%;\n",
              "                 height: 600px;\n",
              "                 background-color: #ffffff;\n",
              "                 border: 1px solid lightgray;\n",
              "                 position: relative;\n",
              "                 float: left;\n",
              "             }\n",
              "\n",
              "             \n",
              "\n",
              "             \n",
              "\n",
              "             \n",
              "        </style>\n",
              "    </head>\n",
              "\n",
              "\n",
              "    <body>\n",
              "        <div class=\"card\" style=\"width: 100%\">\n",
              "            \n",
              "            \n",
              "            <div id=\"mynetwork\" class=\"card-body\"></div>\n",
              "        </div>\n",
              "\n",
              "        \n",
              "        \n",
              "\n",
              "        <script type=\"text/javascript\">\n",
              "\n",
              "              // initialize global variables.\n",
              "              var edges;\n",
              "              var nodes;\n",
              "              var allNodes;\n",
              "              var allEdges;\n",
              "              var nodeColors;\n",
              "              var originalNodes;\n",
              "              var network;\n",
              "              var container;\n",
              "              var options, data;\n",
              "              var filter = {\n",
              "                  item : '',\n",
              "                  property : '',\n",
              "                  value : []\n",
              "              };\n",
              "\n",
              "              \n",
              "\n",
              "              \n",
              "\n",
              "              // This method is responsible for drawing the graph, returns the drawn network\n",
              "              function drawGraph() {\n",
              "                  var container = document.getElementById('mynetwork');\n",
              "\n",
              "                  \n",
              "\n",
              "                  // parsing and collecting nodes and edges from the python\n",
              "                  nodes = new vis.DataSet([{\"color\": \"#97c2fc\", \"id\": \"India\", \"label\": \"India\", \"shape\": \"dot\", \"size\": 10}, {\"color\": \"#97c2fc\", \"id\": \"country\", \"label\": \"country\", \"shape\": \"dot\", \"size\": 10}, {\"color\": \"#97c2fc\", \"id\": \"South Asia\", \"label\": \"South Asia\", \"shape\": \"dot\", \"size\": 10}, {\"color\": \"#97c2fc\", \"id\": \"is the world\\u0027s most populous democracy)\\nEND OF EXAMPL\", \"label\": \"is the world\\u0027s most populous democracy)\\nEND OF EXAMPL\", \"shape\": \"dot\", \"size\": 10}, {\"color\": \"#97c2fc\", \"id\": \"Indian Ocean\", \"label\": \"Indian Ocean\", \"shape\": \"dot\", \"size\": 10}, {\"color\": \"#97c2fc\", \"id\": \"Maldives\", \"label\": \"Maldives\", \"shape\": \"dot\", \"size\": 10}, {\"color\": \"#97c2fc\", \"id\": \"Andaman and Nicobar Islands\", \"label\": \"Andaman and Nicobar Islands\", \"shape\": \"dot\", \"size\": 10}, {\"color\": \"#97c2fc\", \"id\": \"Indonesia)\\nEND OF EXAMPL\", \"label\": \"Indonesia)\\nEND OF EXAMPL\", \"shape\": \"dot\", \"size\": 10}]);\n",
              "                  edges = new vis.DataSet([{\"arrows\": \"to\", \"from\": \"India\", \"relation\": \"is a\", \"to\": \"country\", \"width\": 1}, {\"arrows\": \"to\", \"from\": \"India\", \"relation\": \"is in\", \"to\": \"South Asia\", \"width\": 1}, {\"arrows\": \"to\", \"from\": \"India\", \"relation\": \"from the time of its independence in 1947\", \"to\": \"is the world\\u0027s most populous democracy)\\nEND OF EXAMPL\", \"width\": 1}, {\"arrows\": \"to\", \"from\": \"Indian Ocean\", \"relation\": \"is near\", \"to\": \"Maldives\", \"width\": 1}, {\"arrows\": \"to\", \"from\": \"Andaman and Nicobar Islands\", \"relation\": \"shares maritime border with\", \"to\": \"Indonesia)\\nEND OF EXAMPL\", \"width\": 1}]);\n",
              "\n",
              "                  nodeColors = {};\n",
              "                  allNodes = nodes.get({ returnType: \"Object\" });\n",
              "                  for (nodeId in allNodes) {\n",
              "                    nodeColors[nodeId] = allNodes[nodeId].color;\n",
              "                  }\n",
              "                  allEdges = edges.get({ returnType: \"Object\" });\n",
              "                  // adding nodes and edges to the graph\n",
              "                  data = {nodes: nodes, edges: edges};\n",
              "\n",
              "                  var options = {\n",
              "    \"configure\": {\n",
              "        \"enabled\": false\n",
              "    },\n",
              "    \"edges\": {\n",
              "        \"color\": {\n",
              "            \"inherit\": true\n",
              "        },\n",
              "        \"smooth\": {\n",
              "            \"enabled\": true,\n",
              "            \"type\": \"dynamic\"\n",
              "        }\n",
              "    },\n",
              "    \"interaction\": {\n",
              "        \"dragNodes\": true,\n",
              "        \"hideEdgesOnDrag\": false,\n",
              "        \"hideNodesOnDrag\": false\n",
              "    },\n",
              "    \"physics\": {\n",
              "        \"enabled\": true,\n",
              "        \"stabilization\": {\n",
              "            \"enabled\": true,\n",
              "            \"fit\": true,\n",
              "            \"iterations\": 1000,\n",
              "            \"onlyDynamicEdges\": false,\n",
              "            \"updateInterval\": 50\n",
              "        }\n",
              "    }\n",
              "};\n",
              "\n",
              "                  \n",
              "\n",
              "\n",
              "                  \n",
              "\n",
              "                  network = new vis.Network(container, data, options);\n",
              "\n",
              "                  \n",
              "\n",
              "                  \n",
              "\n",
              "                  \n",
              "\n",
              "\n",
              "                  \n",
              "\n",
              "                  return network;\n",
              "\n",
              "              }\n",
              "              drawGraph();\n",
              "        </script>\n",
              "    </body>\n",
              "</html>"
            ]
          },
          "metadata": {},
          "execution_count": 18
        }
      ]
    },
    {
      "cell_type": "code",
      "source": [],
      "metadata": {
        "id": "vq2ZrAP9sl6Y"
      },
      "execution_count": null,
      "outputs": []
    }
  ]
}